2017-01-20 2 views
0

Ich bin neu in Ruby. Mit watir schreibe ich Skripte, um zu prüfen, ob mehrere Links auf die richtige Seite gelenkt werden.überprüfen Sie mehrere Links sind auf der rechten Seite gerichtet

Link= ["Link", "Link1"] 
Link.each do |LinkValue|  @browser.link(:text=>LinkValue).wait_until_present.click 
fail unless @browser.text.include? LinkValue 
@browser.back 
end 
  1. Aufrechterhaltung Linktext in einem Array
  2. mit jedem Linktext Iterieren
  3. verifizieren
  4. zur vorherige Seite navigieren mit nächstem Linktext zu starten verifiziert.

Aber das Skript funktioniert nicht. Es wird nicht nach dem ersten Wert ausgeführt.

+0

Frage scheint für mich verwirrend. Sie versuchen, auf den Link zu klicken, wenn Link nicht vorhanden ist, dann wirft es den Fehler, So geht es nicht zu dieser Zeile 'scheitern, es sei denn @ browser.text.include? LinkWert'. Ich werde die Antwort unten schreiben, die Ihr Bedürfnis erfüllen könnte. – Gopal

Antwort

1
Link= ["Link", "Link1"] 
result=[] 
Link.each do |LinkValue| 
    if @browser.link(:text => LinkValue).exists? 
    @browser.link(:text => LinkValue).click 
    if @browser.url.eql?'ExpectedUrlhere' 
     result=[LinkValue,'success'] 
    else 
     result=[LinkValue,'failure'] 
    end 
    @browser.back 
    end 
end 

p result 

Dies könnte helfen.

+0

Hallo Gopal, ich würde verstehen, wenn @ browser.url.eql? ExpectedUrlhere ', können Sie mir bitte erklären, dass – Rohin

+0

@ browser.back nicht zurück navigiert. können Sie bitte vorschlagen – Rohin

+0

@Rohin Sie müssen überprüfen, ob Sie die richtige Seite erreichen, richtig? Das ist, was ich die resultierende URL überprüfe. – Gopal

Verwandte Themen