您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Watir
Watir WedDriver支持的浏览器操作
作者:网络转载 发布时间:[ 2014/1/14 13:44:29 ] 推荐标签:Watir WedDriver

Watir Webdriver的工作方式是:

Watir 脚本 -> Browser Driver -> Browser ->Screen (or headless)

目前支持的Browser Driver 有IEDriver, ChromeDriver, FFDriver,SafariDriver, HeadlessDriver

我们来看一下对各个browser的支持:

Chrome

标准创建
browser = Watir::Browser.new :chrome

带profile的创建,下例为设置不弹出download窗口,并设置下载默认路径

profile = Selenium::WebDriver::Chrome::Profile.new
profile['download.prompt_for_download'] = false
profile['download.default_directory'] = "/path/to/dir"

browser = Watir::Browser.new :chrome, :profile => profile

带switch的创建,下例为忽略证书错误,关闭popup窗口弹出,禁止自动翻译
browser = Watir::Browser.new :chrome, :switches => %w[--ignore-certificate-errors --disable-popup-blocking --disable-translate]

设置代理
browser = Watir::Browser.new :chrome, :switches => %w[--proxy-server=myproxy.com:8080]

Firefox

标准创建
browser = Watir::Browser.new :firefox

使用默认的profile
browser = Watir::Browser.new :firefox, :profile => 'default'

设置所需的profile
profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.dir'] = "/tmp/webdriver-downloads"
profile['browser.download.folderList'] = 2
profile['browser.helperApps.neverAsk.saveToDisk'] = "application/pdf"
 
browser = Watir::Browser.new :firefox, :profile => profile

禁止native event,该方法主要是window使用默认的一个较低level的交互方法来与webdrive进行交互,有时候会引起莫名的错误,可以禁止:
profile = Selenium::WebDriver::Firefox::Profile.new
profile.native_events = false
browser = Watir::Browser.new :firefox, :profile => profile

设置代理服务
profile = Selenium::WebDriver::Firefox::Profile.new
profile.proxy = Selenium::WebDriver::Proxy.new :http => 'myproxy.com:8080:, :ssl => 'myproxy.com:8080'

browser = Watir::Browser.new :firefox, :profile => profile

设置使用addon,例如:firebug
profile = Selenium::WebDriver::Firefox::Profile.new
profile.add_extension "../path/to/firebug.xpi"

browser = Watir::Browser.new :firefox, :profile => profile

IE

标准创建
browser = Watir::Browser.new :firefox

IE使用默认配置,也是说,你必须手工配置IE来满足你的需要。

Safari

标准创建
browser = Watir::Browser.new :safari

safari现在支持还不够完善,有待进一步更新。

Headless

Headless不是浏览器,他是ruby对Xvfb的封装,从而使得能headless的linux上运行一个图形界面程序。

Xvfb or X virtual framebuffer 是一种将所有的图形化操作在内存中隐式运行,而不是在屏幕上显式运行的一种服务器。

举个简单的例子
require 'watir-webdriver'
require 'headless'

headless = Headless.new
headless.start

browser = Watir::Browser.start 'www.google.com'
puts b.title
b.close

headless.destroy

通过先生成headless,我们能在非图形界面的操作系统上,运行一个图形界面的程序。

软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd