2013-01-07 9 views
5

Wie kann ich mehr als einen Browser mit meinem Code-Watir, zum Beispiel über eine while Schleife von 0 bis 10 öffnen?Watir öffnen mehrere Browser oder Tab

Hier ist mein Code:

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 

Aber wie so etwas zu tun?

while i < 10 
Page.get_connection 
end 

Antwort

4

Diese zehn Browser öffnen sollte:

10.times {Watir::Browser.new} 

Wenn Sie später die Browser verwenden möchten, können Sie sie in einem Hash setzen:

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

aber auch, wie man es tun über Klassenvariablen @? – brabertaser19

+1

Ersetzen Sie einfach 'browsers [i]' durch '@browsers [i]'. Sie sollten ein Buch über Ruby lesen. Ruby-Code zu schreiben ist viel einfacher, wenn Sie die Grundlagen der Sprache kennen. –

+0

Ich wusste einfach nicht, dass Klassenvariable als Array geschrieben werden konnte – brabertaser19

Verwandte Themen