尝试断言在元素数组中找到的文本时,我收到一个错误
AssertionError: expected [ Array(1) ] to include 'This profile exists already and has two places.'
我在页面对象文件中声明了webelement引用
我创建了一个步骤,其中包含一些代码来验证元素数组中的文本
这是在页面对象中声明的webelement引用:
get importErrorsList(){
return element.all(by.css('[ng-if="error.error.detailMessage"]'));
}
这是我尝试检查Web元素数组中的文本
directoriesPageObj.importErrorsList.getText().then(function(text) {
console.log('test console output: ' + text);
expect(text).to.contain(errorText);
callback();
});
实际:我得到断言错误
预期:测试通过。
请注意,在步骤的代码中,我有一个console.log
片段,它输出一个字符串,其中包含搜索的字符串:test console output:com.reputation.imex.imp.ImportException:此配置文件已存在且有两个位置。此配置文件不支持使用CSV导入
importErrorsList
返回ElementArrayFinder
。
如果应用程序可能只返回一个与css选择器匹配的元素,则将您的方法更改为:
get importErrorsList(){
return element.all(by.css('[ng-if="error.error.detailMessage"]'));
}
但是,如果你可以让ElementArrayFinder
将你的expect
改为:
expect(text).to.deep.contain(errorText);
这最终对我有用:
expect(directoriesPageObj.importErrorsList.getText()).to.eventually.contain(errorText).and.notify(callback);