在使用空手道驱动程序以及将数据输入到iframe中的字段中时遇到困难
尝试将xpath和css选择器用于iframe,因此从理论上讲我可以切换到iframe并与之交互,而不会遇到任何麻烦。我可以找到iframe,但不确定如何将上下文切换到iframe,这样场景就可以在iframe中继续。例如,将值输入iframe中的字段。
请帮助:)
更新: 可以成功切换到iframe,但现在遇到嵌套iframe的问题。
* switchFrame(0)
* click('.some-checkbox')
* switchFrame(0)
两个iframe都没有出色的CSS选择器。索引为0的第二个switchFrame不查找嵌套的iframe。
答案 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)
不幸的是,我发现这通常适用于以下驱动程序类型:chrome
和chromedriver