验收测试 - WebDriver - 页面与弹框

  • 作者:KK

  • 发表日期:2015.12.13


在yml配置文件中的WebDriver模块配置项里增加一个window_size选项可以设置测试时使用哪个窗口大小来测试,单位是像素值,值也很简单,例如

window_size: 1024x768

页面和窗口操作

如果要测试链接的新窗口,你也不用勉强把a标签的target属性改掉来折衷配合测试,而是可以通过grab系列方法或者执行JS获取所需要的a标签的href属性,再用amOnPage强换过去,这样就实现了本窗口跳转了.

这是对超级链接新窗口的说明,但是下面介绍的一些关于页面的操作,switchToWindow则不是对超级链接新窗口的,请慢慢看:

  • $I->reloadPage() 重新加载页面,跟JS的location.reload()一样

  • $I->resizeWindow(800, 600) 调整浏览器窗口大小到800*600像素

  • $I->maximizeWindow() 最大化浏览器

  • $I->makeScreenshot('user-info') 将当前浏览器的画面保存一张截图快照到tsts/_output/debug目录下,参数是图片前缀名,这里将会保存到 tests/_output/debug/user-info.png 注意是保存为png格式的哦.

  • $I->switchToWindow('windowName') 切换到一个特定的窗口,比如当页面上执行了window.open('http://www.xxx.com', 'name1');的话,就是给新打开的窗口起了个叫name1的名字做标识,然后测试时通过这个名字来切换到新窗口(就像用鼠标点击了新窗口的标签一样切换过去),因为如果你不切换过去的话是无法断言新窗口的东西的.当你测试完这个新窗口后要回到原来的窗口则是再执行一下这个方法,但不要传参数就可以回到上一个窗口.类似这个的后面还有个测试iframe的章节也有提到