【发布时间】:2019-04-29 05:20:14
【问题描述】:
由于我现在使用带有可变文本的单个按钮,因此我已从通过 id 查找元素切换到 by.buttonText。我的测试开始失败了。
这是我的按钮
<button type="button" class="btn btn-primary" ng-click="vm.watchUnwatchDriver()">{{vm.model.isWatched ? 'Un-' : ''}}Watch Driver</button>
这会根据vm.model.isWatched 评估为“Watch Driver”或“Un-Watch Driver”。
最初我将我的按钮设置为 Watch Driver,以便我测试 Un-Watch 按钮是否已显示,如果是则可能单击它。
我已经开始看到这条消息了
失败:使用定位器找不到元素:by.buttonText("Un-Watch Driver")✗
我的测试是这样的
describe('Watch/Un-Watch Driver Test', function() {
var watchBtn = element(by.buttonText('Watch Driver'));
var unwatchBtn = element(by.buttonText('Un-Watch Driver'));
it('should set Driver watch status to default: un-watched', function() {
unwatchBtn.isDisplayed().then(function(visible) {
if (visible) {
unwatchBtn.click();
}
});
expect(unwatchBtn.isDisplayed()).toBe(false);
});
it('should watch a driver', function() {
watchBtn.click();
expect(unwatchBtn.isDisplayed()).toBe(true);
});
it('should un-watch a driver', function() {
unwatchBtn.click();
expect(unwatchBtn.isDisplayed()).toBe(false);
});
});
【问题讨论】:
标签: angularjs selenium selenium-webdriver protractor