我正在使用Nightwatch来测试div
iframe中是否给出了正确的值.
我的HTML;
这是我的夜班测试;
module.exports = { 'Leaderboard Visibility' : function (client) { client .url(some_url) .waitForElementVisible('body', 5000) .waitForElementPresent('#leaderboard > iframe', 10000) .pause(5000) .frame(0) .pause(5000) .waitForElementPresent('div#ad-data', 5000) .assert.attributeContains('div#ad-data', 'creative-id', '53134803289') .end(); } };
我从Nightwatch得到的错误是 我已经 我在想我无法访问, 如何使用Nightwatch 为您的第一个iframe 这是一种测试解决此问题的方法,获取属性ID并在框架中使用它,frame(0)不提供访问权限,守夜需要iframe ID。对于动态生成的ID,您可以执行以下操作。Timed out while waiting for element
.pause(5000)
提到了2 秒,因为类似的问题表明,iframe中的内容加载速度不够快可能会出现问题.由于我已经完成了一些调试,我认为这不是这种情况,但我暂时将它们留在那里.div#ad-data
因为iframe拥有自己的contentDocument
属性,其中包含head
&body
(以及随后的div
s).div
在iframe中声明属性的值contentDocument
?
1> Killuminati..:使用
.frame('some_id')
.
2> Tarandeep Si..:
动态ID外部iframe访问
module.exports = {
'Checkout Braintree' : function (client) {
client
.url('#enter_your_url_here')
.waitForElementPresent('[data-e2e="brainTree3Ds"]', 10000)
.pause(5000)
.perform(() => {
client.getAttribute('[data-e2e="brainTree3Ds"] iframe', 'id',(result) => {
client
.frame(result.value)
.setValue('input[name="external.field.password"]', 1234)
.click('input[type="submit"]');
});
})
.testSuccessPage() // External Command
.end();
}
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有