验收测试 - 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();