我正在尝试运行一组测试,其中一个测试依赖于一个元素是否显示在页面上。所讨论的元素是表中的分页。
表总是存在的,但是只有当记录计数超过20时才会显示分页。我正在尝试删除表中的最后一条记录,所以我已经删除了最后一条记录,或者单击分页中的“最后”按钮,然后删除最终记录。
我尝试实现以下SO answer,请参阅下面的代码:
it('should test the deletion of a record against whether pagination exists or not', function() {
element(by.css('.pagination')).isDisplayed().then(function(present) {
if(present) {
// Click last button and perform delete on last record
} else {
// perform delete on last record
};
});
});然而,当运行测试时,当页面的记录计数小于20并且现在显示分页时,Protractor在抱怨No element found using locator: By.cssSelector(".pagination")。
当我知道是否存在分页时,我已经通过了这两个实例的测试,但是为了尽可能保持它的干燥,我想有条件地检查并确保这两组测试都依赖于记录计数。
任何帮助都将不胜感激!
发布于 2016-01-07 12:12:03
问题是您必须使用isPresent而不是isDisplayed。它可能会帮助你有一个真实的/错误的值。
https://stackoverflow.com/questions/34654527
复制相似问题