我使用以下代码来比较aria-checked="false"
中的元素。
expect((accessPolicyPage.listSelectAll).getAttribute("aria-checked")).toEqual("false");
输出为Expected [ 'false' ] to equal 'false'
。
我也试过了toBeFalsy()
。
答案 0 :(得分:3)
以下是上述问题的答案。
expect((accessPolicyPage.listSelectAll).get(0).getAttribute("aria-checked")).toEqual("false");
这将从数组中获取精确值。
感谢Arseni提供找到答案的线索。
答案 1 :(得分:1)
accessPolicyPage.listSelectAll
会返回一个元素列表。因为你只有一个元素,所以它返回一个元素的数组。所以这就是为什么说Expected [ 'false' ] to equal 'false'
。
要检查这一点,你必须循环返回这样的返回元素并检查每个元素的属性aria-checked
,如下所示:
var elements = accessPolicyPage.listSelectAll;
elements.forEach(function(singleElement) {
expect(singleElement.getAttribute("aria-checked")).toEqual("false");
});
或者只是这样做:
expect((accessPolicyPage.listSelectAll).getAttribute("aria-checked")[0]).toEqual("false");
请尝试,如果没有帮助,请写评论。我会尝试提供更多帮助