[Selenium2.0]对onload弹出框的尝试 SinatraChromeIERubyFirefox
程序员文章站
2024-02-14 11:51:04
...
这次尝试主要目的是测试在onload时弹出框,是否会block测试脚本的运行。
先自己写一段测试页面:
在sinatra服务器上运行不会被弹文件不安全的弹出框。不然一个本地文件也搞定了。然后访问http://localhost:4567/,看下效果,确定在onload时弹窗了。
开始写测试代码:(版本:selenium 2.0 webdriver, ruby的implementation )
看到的效果是页面正常加载,弹出框正常显示,并且点击确认成功关闭。
然后,改用 Selenium::WebDriver.for :ie 和 :chrome
得出以下结论:
firefox: 页面正常加载,弹出框正常显示,并且点击确认成功关闭。
ie: 页面正常加载,弹出框正常显示,但会卡在driver.navigate.to(url)方法上,一直等待页面加载完成。
chrome: 同ie
对于上面两种卡住不能操作的,是在webdriver的navigate增加了wait导致的。解决就通过点击windows窗口控件的方式异步操作来搞了。
先自己写一段测试页面:
# myapp.rb require 'sinatra' get '/' do ' <html> <head> <script type="text/javascript"> function load() { alert("123") } </script> </head> <body onload="load()"> </body> </html> ' end
在sinatra服务器上运行不会被弹文件不安全的弹出框。不然一个本地文件也搞定了。然后访问http://localhost:4567/,看下效果,确定在onload时弹窗了。
开始写测试代码:(版本:selenium 2.0 webdriver, ruby的implementation )
require "selenium-webdriver" url = "http://localhost:4567/" driver = Selenium::WebDriver.for :firefox driver.navigate.to(url) sleep 2 asert = driver.switch_to.alert asert.accept
看到的效果是页面正常加载,弹出框正常显示,并且点击确认成功关闭。
然后,改用 Selenium::WebDriver.for :ie 和 :chrome
得出以下结论:
firefox: 页面正常加载,弹出框正常显示,并且点击确认成功关闭。
ie: 页面正常加载,弹出框正常显示,但会卡在driver.navigate.to(url)方法上,一直等待页面加载完成。
chrome: 同ie
对于上面两种卡住不能操作的,是在webdriver的navigate增加了wait导致的。解决就通过点击windows窗口控件的方式异步操作来搞了。