【发布时间】:2020-01-15 13:38:47
【问题描述】:
我正在 Angular Web 应用程序中执行量角器测试。
测试用例:
-
在列表中查找元素。
-
遍历列表中的每个元素。
-
如果元素包含所需的名称。
-
点击元素。
代码:
let projectsList = await element.all(by.css(Selectors.projectList));
for (item of projectsList) {
item.getText().then((text) => {
if (text.includes("50_projects_to_tests")) {
console.log(text)
item.clik()
}
}, (err) => console.log(err));
}
问题:
测试用例很容易执行,除了一件事。 每隔几秒钟发送一次有关更新项目信息的请求。 当从服务器返回响应时,我丢失了之前选择的项目列表。
这意味着我无法点击我找到的元素,因为该元素不再存在。
我收到:
StaleElementReferenceError: stale element reference: element is not attached to the page document
问题:
是否可以在测试执行时阻止/冻结 DOM?
任何想法都可以处理这个问题。
【问题讨论】:
标签: javascript testing dom browser protractor