2013-11-14 47 views
0

代碼如下,它在哪裏啓動三個Firefox瀏覽器 ,所有瀏覽器都有不同的代理設置。使用watir如何啓動所有三個瀏覽器同時使用踩在watir ???如何運行多個Firefox瀏覽器在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") 

現在的問題是如何使用線程使 只有$ browser.link加入$ B1和$ B2,B3 $在一個瀏覽器(:文本,「表單應用程序」),點擊應爲所有工作三個瀏覽器並行寫作

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

即單行代碼工作在三個firefox瀏覽器中同時並行工作。

回答

0

這是不可能的,因爲$ b1,$ b2,$ b3是不同的瀏覽器的實例,你不能讓它們相等。你在做什麼是對的。或者你可以做一些這樣的事情。

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