验收测试 - WebDriver - 测试iframe ¶
作者:KK
发表日期:2015.12.13
如果页面上有iframe,那么平时对一些元素做查找断言的时候是找不到它的,默认情况只在页面文档最顶层做搜索.要测试iframe里的东西就先要将测试者的当前位置切换到iframe里,例如以下代码:
$I->switchToIFrame('leftMenu'); //leftMenu 是iframe的name属性值,不是ID属性,只支持name值定位
然后再像平时一样继续seeElement,see什么的呵呵,你只要知道自己当前是在iframe的url里就行了.其实我认为这样跟$I->amOnPage($iframe的URL)
效果差不多.
区别是,如果iframe和父页面有JS交互通讯行为,则你不能amOnPage来强制切换,因为你要断言一些操作造成JS交互后的变化
如果你已经切换到一个iframe里面了,则如果要切换回外面父页面的话就还是用这个方法,但不用传递参数就是回到上一级页面,有N个上一级都可以这样做,但不是回到顶层,只是上一级哦
$I->switchToIFrame();