我有几个测试规格,但它受阻。其中之一:
it('Add button should exist', async () => {
var add = $('[test-id="add"]');
browser.wait(EC.presenceOf(add), 10372);
expect(await add.isPresent()).toBeTruthy();
});
我正在检查此代码块中的DOM元素。当我仅运行此it块时,测试成功通过。但是,当我运行所有测试规格时,出现错误:
message ='未处理的承诺拒绝:StaleElementReferenceError:旧元素参考:该元素未附加到页面文档|
我正在使用protactor
和selenium web driver
。我也尝试过相关问题:issue1 issue2
我需要帮助。
该消息表明该元素在页面上不存在。您应该首先等待元素可见:
it('Add button should exist', async () => {
browser.wait(EC.presenceOf($('[test-id="add"]'), 10372);
var add = $('[test-id="add"]');
expect(await add.isPresent()).toBeTruthy();
});