我正在测试,如果用户的货币为“EUR”而另一种货币“GBP”显示在页面顶部,那么我当时希望链接包含“EUR”和另一个包含文本“GBP”的链接出现在页面的下方。这包含在名为"nav-tabs au-target"
的div中
当我运行我的脚本时,我收到以下错误:
Expected [ true, true ] to be [ true, true ]
这是我的页面对象文件:
if(text.indexOf("EUR") >-1 && text.indexOf("GBP") >-1){
expect(element.all(by.linkText("EUR"&&"GBP")).isDisplayed())
.toBe([true, true]);
console.log("EUR AND GBP buyer");}
我试过看"nav-tabs au-target"
是否包含链接文字“EUR”和“GBP”而不是element.all但是努力让它工作
感谢
答案 0 :(得分:2)
这可能不是Protactor或您的应用程序的问题,而是使用不正确的Jasmine API。
特别是:
expect(actualValue).toBe(expectedValue)
将进行以下检查:
actualValue === expectedValue
不会为对象或数组工作。
对于对象或数组,您应该使用toEqual
而不是toBe
来执行两个值之间的深度比较。
您可以在以下fiddle中看到此操作。