Selenium Web Server状态元素引用错误

问题描述 投票:0回答:1

我有几个测试规格,但它受阻。其中之一:

  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:旧元素参考:该元素未附加到页面文档|

我正在使用protactorselenium web driver。我也尝试过相关问题:issue1 issue2

我需要帮助。

selenium-webdriver protractor selenium-rc
1个回答
0
投票

该消息表明该元素在页面上不存在。您应该首先等待元素可见:

it('Add button should exist', async () => {
browser.wait(EC.presenceOf($('[test-id="add"]'), 10372);
var add = $('[test-id="add"]');  
expect(await add.isPresent()).toBeTruthy();

});

© www.soinside.com 2019 - 2024. All rights reserved.