gpt4 book ai didi

javascript - Protractor :无法获取中继器元素

转载 作者:行者123 更新时间:2023-11-30 16:38:04 26 4
gpt4 key购买 nike

我正在测试来自 https://angularjs.org/ 的基本示例称为“添加新控件”。问题是在向中继器添加新值后我无法获得任何元素。只有第一个。

...
var listRepeater = by.repeater('todo in todoList.todos');
var list = element.all(listRepeater);
expect(list.count()).toEqual(2);

addNewElement();

expect(list.count()).toEqual(3);
expect(list.get(0).element(by.model("todo.done")).getAttribute("checked")).toEqual("true");
expect(list.get(2).element(by.model("todo.done")).getAttribute("checked")).toEqual("true");

添加新元素后,检查元素的计数是否正常:它等于 ti 3,我知道新值已正确添加。而且我可以清楚地获得第一个元素的正确“选中”属性(默认情况下禁用)。但是当我试图获取(2)元素时,我有关于空对象的错误。与 get(1) 相同。只有 get(0) 工作正常。但是 2 行中继器默认情况下毫无疑问。

最佳答案

问题是第二个和第三个元素未选中并且没有 checked 属性 - 这就是您得到 null 的原因。

相反,检查复选框是否被选中的正确方法是使用 isSelected() :

expect(list.get(0).element(by.model("todo.done")).isSelected()).toEqual(true);
expect(list.get(2).element(by.model("todo.done")).isSelected()).toEqual(false);

为我工作。

关于javascript - Protractor :无法获取中继器元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32420966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com