空手道驱动程序与iframe的互动

时间:2019-10-09 14:22:40

标签: karate

在使用空手道驱动程序以及将数据输入到iframe中的字段中时遇到困难

尝试将xpath和css选择器用于iframe,因此从理论上讲我可以切换到iframe并与之交互,而不会遇到任何麻烦。我可以找到iframe,但不确定如何将上下文切换到iframe,这样场景就可以在iframe中继续。例如,将值输入iframe中的字段。

请帮助:)

更新: 可以成功切换到iframe,但现在遇到嵌套iframe的问题。

* switchFrame(0)
* click('.some-checkbox')
* switchFrame(0)

两个iframe都没有出色的CSS选择器。索引为0的第二个switchFrame不查找嵌套的iframe。

1 个答案:

答案 0 :(得分:1)

我想您已经在这里看到了文档:https://github.com/intuit/karate/tree/develop/karate-core#switchFrame

我承认这非常棘手。理想情况下,您应该为框架使用适当的CSS或ID选择器,这是我进行的测试中的实际工作示例。请注意,waitFor()可能是您所缺少的,尤其是当<iframe>是加载缓慢的膨胀软件时。

* waitFor('.some-css-name iframe').switchFrame()
* click('.some-checkbox')
* switchFrame(null)

不幸的是,我发现这通常适用于以下驱动程序类型:chromechromedriver