我正在尝试使用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>
我做错了什么?
答案 0 :(得分:0)
这看起来像是一个铬虫,以防其他人遇到这个问题:
https://bugs.chromium.org/p/chromedriver/issues/detail?id=1777
答案 1 :(得分:0)
您是否尝试过在切换到框架之前添加.pause(1000)
?