量角器E2E:失败,使用定位符未找到任何元素:By(css选择器)

时间:2019-10-21 13:05:20

标签: css reactjs protractor

尝试模拟在量角器中单击的'a'标签。由于某种原因,我收到此问题标题中的错误消息(失败:使用定位符找不到元素:By(css选择器,#linkToMandate))

到目前为止,什么都没做,我已经尝试了在这里找到的所有内容,

...正在等待页面完全加载。

...使用不同的选择器。

...使其成为异步函数。

  it('[SUCCESS] User clicked on MANDATE field', () => {
    browser.get('/cockpit');
    browser.wait(
      until.urlContains('/cockpit'), 5000
    );

    const mandateButton = element(by.css('#linkToMandate'));
    mandateButton.click();

    expect(browser.wait(until.urlContains('/mandate'), 5000));
  });

以上是我要在量角器中完成的工作。

<div>
  <div>
    <a id="linkToMandate" href="/mandate">
      <div>
        <div>
          <div>
            <p>MANDATE</p>
          </div>
          <div>
            <img src="someCoolIcon" alt="icon">
          </div>
        </div>
      </div>
    </a>
  </div>
</div>

上面是react渲染的html

首先,我只想导航到法师/ mandate

2 个答案:

答案 0 :(得分:0)

尝试一下

  it('[SUCCESS] User clicked on MANDATE field', () => {
    browser.get('/cockpit');
    browser.wait(
      ExpectedConditions.presenceOf(element(by.css('#linkToMandate'))), 
      5000
    );

答案 1 :(得分:0)

好吧,问题在于页面无法完全呈现,并且“用户”尚未登录。 意思是在我模拟被点击的'a'标签之前,我必须->导航到登录路径->发送数据->等到页面完全呈现->单击'a'标签