2013-01-07 10 views
5

Come posso aprire più di un browser utilizzando il mio code-watir, ad esempio tramite un ciclo while da 0 a 10?Watir apre più browser o schede

Ecco il mio codice:

require 'watir-webdriver' 
require 'headless' 
class Page 
    @headless = Headless.new 
    @headless.start 
    @browser = Watir::Browser.start 'bit.ly/***' 
    def self.get_connection 

     puts "Browser started" 
     puts @browser.title 
     @browser.driver.manage.timeouts.implicit_wait = 3 #3 seconds 

     @browser.select_list(:name => 'ctl00$tresc$111').select_value('6') 
     puts "Selected country" 
     @browser.select_list(:name => 'ctl00$tresc$222').wait_until_present 
     @browser.select_list(:name => 'ctl00$tresc$333').select_value('95') 
     puts "Selected city" 
    end 

    def self.close_connection 
     @browser.close 
     @headless.destroy 
    end 
end 

Page.get_connection 
Page.close_connection 

Ma come fare qualcosa di simile?

while i < 10 
Page.get_connection 
end 

risposta

4

Questo dovrebbe aprire dieci browser:

10.times {Watir::Browser.new} 

Se si desidera utilizzare i browser più tardi, li si può mettere in un hash:

browsers = {} 
(0..9).each {|i| browsers[i] = Watir::Browser.new} 
browsers[0].goto "google.com" 
browsers[1].goto "yahoo.com" 
+0

ma anche come farlo tramite variabili di classe @? – brabertaser19

+1

Basta sostituire 'browser [i]' con '@browsers [i]'. Dovresti leggere un libro su Ruby. Scrivere codice Ruby è molto più semplice quando si conoscono le basi della lingua. –

+0

semplicemente non sapevo che la variabile di classe potesse essere scritta come array – brabertaser19

Problemi correlati