下面给出了代码,它启动了三个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浏览器中同时工作。
答案 0 :(得分:0)
这是不可能的,因为$ b1,$ b2,$ b3是不同浏览器的实例,你不能使它们相等。你做的是对的。或者你可以做那样的事情。
array = [$b1,$b2,$b3]
array.each { |browser|
browser.link(:text, "form application").click
}