我在自己的SUT(网页)中遇到了一个挑战,该问题在iFrame中以javascript形式嵌入了一个日志。 当我像这样使用量角器时,解决了相同的挑战:
var driver = browser.driver;
var loc = by.tagName('iframe');
var el = driver.findElement(loc);
browser.switchTo().frame(el);
可以在赛普拉斯脚本中进行这种切换吗?
有人可以举一个例子吗?
答案 0 :(得分:0)
This is not currently possible.但是,存在一种解决方法,可以在iframe中执行操作和声明。这是来自a really nice example的GitHub上的tscott-au:
cy.get('#myIframe')
.then(function ($iframe) {
const $jbody = $iframe.contents().find('body')
const $body = $jbody[0]
cy.wrap($body).find('#myField').should('exist')
})
})
此解决方法有一些警告。有关更多信息,请参见this link,但这是引号:
...您可以...以这些元素为目标并可能对它们执行操作[但是]您不能返回它们或在cypress命令中使用它们。