假值在茉莉花中不相等

false value is not getting equaled in jasmine

本文关键字:不相等 茉莉花      更新时间:2023-09-26

我正在使用下面的代码来比较aria-checked="false"元素。

expect((accessPolicyPage.listSelectAll).getAttribute("aria-checked")).toEqual("false");

输出如Expected [ 'false' ] to equal 'false'

我也尝试过toBeFalsy()

以下是上述问题的答案。

expect((accessPolicyPage.listSelectAll).get(0).getAttribute("aria-checked")).toEqual("false");

这将从数组中获取确切的值。

感谢Arseni提供线索以找到答案。

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");

请尝试一下,如果它没有帮助,请写评论。我会尝试提供更多帮助