1

下面给出了代码,它在其中启动了三个 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浏览器中同时并行工作。

4

1 回答 1

0

这是不可能的,因为 $b1,$b2,$b3 是不同浏览器的实例,你不能让它们相等。你在做什么是对的。或者你可以做一些类似的事情。

array = [$b1,$b2,$b3]
array.each { |browser|
browser.link(:text, "form application").click
}
于 2013-11-19T07:18:09.200 回答