如何在量角器中按类型,值或alt属性定位元素?

时间:2018-04-17 11:43:47

标签: javascript protractor

示例1: 我有一个按钮的HTML代码。

<button class="submit_btn" type="submit" value="Login" ng-disabled="LoginCtrl.loginStatus === LoginCtrl.loginCtrlConfig.LOGIN_LOADING">

使用量角器,如果我不想使用类名,但使用'type'或'value'参数。

示例2:

<img src="someSource" alt="Firewall for Code" width="90" height="46">

我想使用上面img的'alt'参数来测试该元素位于页面上,因此测试应该通过。

如何在Protractor中完成上述两项任务?

1 个答案:

答案 0 :(得分:2)

您可以/应该使用CSS selectors在元素属性上添加过滤条件。

在第一个例子中,它可能是:

var submitButton = element(by.css("button[type=submit][value=Login]"));

// element is present
expect(submitButton.isPresent()).toBe(true);

// element is displayed
expect(submitButton.isDisplayed()).toBe(true);

在第二个例子中,它将是:

var sourceImage = element(by.css('img[alt="Firewall for Code"]'));

// element is present
expect(sourceImage.isPresent()).toBe(true);

// element is displayed
expect(sourceImage.isDisplayed()).toBe(true);

请注意,在这种情况下,我们需要在属性值周围引用,因为属性值中有空格。以下是有关您何时需要报价的更多信息,然后不会: