这次尝试主要目的是测试在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窗口控件的方式异步操作来搞了。