Nightwatch:切换到iframe时出错

时间:2017-05-02 21:39:45

标签: selenium google-chrome-extension nightwatch.js

我正在尝试使用Nightwatch为镀铬扩展程序编写e2e测试。扩展程序将iframe插入到某些页面上。我能够使用扩展程序启动chrome但在我尝试切换到框架时遇到错误

这是我的测试:

module.exports = {
  'My test' : function (browser) {
    browser
      .url('https://myurl.com')
      .waitForElementVisible('iframe[id=my_frame]', 5000)
      .frame('my_frame')
      .end();
  }
};

以下是错误消息:

  

INFO Response 200 POST / session / b747140552587912484ec27e0d91cd27 / frame   (6ms){sessionId:'b747140552587912484ec27e0d91cd27',状态:8,
  value:{message:'没有这样的框架:元素不是框架
  (会话   info:chrome = 58.0.3029.96)\ n(驱动信息:chromedriver = 2.29.461591   (62ebf098771772160f391d75e589dc567915b233),platform = Windows NT   6.1.7601 SP1 x86_64)'}}   LOG→完成命令帧(10 ms)

我知道框架在那里,因为我可以暂停测试并检查页面。 nightwatch也成功在waitForElementVisible命令中找到frame元素。

这是html

<iframe id="my_frame" src="chrome-extension://honkfenocfnhdbpakgenabnlnpgccadm/html/iframe/test.html" scrolling="false" style="width: 440px; transform: translateX(0px);"></iframe>

我做错了什么?

2 个答案:

答案 0 :(得分:0)

这看起来像是一个铬虫,以防其他人遇到这个问题:

https://bugs.chromium.org/p/chromedriver/issues/detail?id=1777

答案 1 :(得分:0)

您是否尝试过在切换到框架之前添加.pause(1000)