示例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中完成上述两项任务?
答案 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);
请注意,在这种情况下,我们需要在属性值周围引用,因为属性值中有空格。以下是有关您何时需要报价的更多信息,然后不会: