如何在Watir中并行运行多个具有不同代理的firefox浏览器

时间:2013-11-14 13:43:42

标签: ruby watir watir-webdriver

下面给出了代码,它启动了三个firefox浏览器    ,所有浏览器都有不同的代理设置。使用watir如何使用watir中的所有三个浏览器同时启动???

require 'selenium-webdriver'
require 'rubygems'
require 'watir'
require 'rautomation'
require './CLReport.class'
require 'win32ole'
# TO INITIATE FIRST FIREFOX BROWSER
# THE PROXY DATA CAN BE parameterized from Excel sheet
profile = Selenium::WebDriver::Firefox::Profile.new
profile.proxy = Selenium::WebDriver::Proxy.new :http => 'myproxy.com:8080', :ssl =>      'myproxy.com:8080'
$b1 = Watir::Browser.new :firefox, :profile => profile
$b1.goto("https://google.com")

# TO INITIATE SECOND FIREFOX BROWSER
# THE PROXY DATA CAN BE parameterized from Excel sheet
profile = Selenium::WebDriver::Firefox::Profile.new
profile.proxy = Selenium::WebDriver::Proxy.new :http => 'myproxy.com:8081', :ssl =>      'myproxy.com:8081'
$b2 = Watir::Browser.new :firefox, :profile => profile
$b2.goto("https://google.com")

# TO INITIATE THORD FIREFOX BROWSER
# THE PROXY DATA CAN BE parameterized from Excel sheet
profile = Selenium::WebDriver::Firefox::Profile.new
profile.proxy = Selenium::WebDriver::Proxy.new :http => 'myproxy.com:8082', :ssl =>     'myproxy.com:8082'
$b3 = Watir::Browser.new :firefox, :profile => profile
$b3.goto("https://google.com")

现在我的问题是如何使用线程在单个浏览器中加入$ b1,$ b2,$ b3     只有$ browser.link(:text," form application")click应该适用于所有三个平行编写的浏览器

$b1.link(:text, "form application").click
$b2.link(:text, "form application").click    
$b3.link(:text, "form application").click

即单行代码工作同时在三个firefox浏览器中同时工作。

1 个答案:

答案 0 :(得分:0)

这是不可能的,因为$ b1,$ b2,$ b3是不同浏览器的实例,你不能使它们相等。你做的是对的。或者你可以做那样的事情。

array = [$b1,$b2,$b3]
array.each { |browser|
browser.link(:text, "form application").click
}