我正在尝试运行一套测试,其中一个测试依赖于元素是否显示在页面上。有问题的元素是表格中的分页。
该表始终存在,但仅在记录数超过 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")
现在显示。
当我知道分页是否存在时,我已经通过了这两个实例的测试,但为了尽可能保持干燥,我想有条件地检查并确保两组测试都可以通过,具体取决于记录计数。
任何帮助将不胜感激!
最佳答案
问题是您必须使用 isPresent
而不是 isDisplayed
。它可能会帮助您确定真/假值。
关于javascript - Protractor 条件测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34654527/