2017-01-20 2 views
0

Я новичок в рубине. используя watir, я написал скрипты для проверки нескольких ссылок, направляемых на нужную страницу, как показано ниже.проверить несколько ссылок на правильную страницу

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. поддержания LinkText в массиве
  2. с каждым повторяется для LinkText
  3. проверить
  4. перейти на предыдущую страницу, чтобы начать проверку с следующей LinkText.

Но сценарий не работает. он не выполняется после первого значения

+0

Вопрос, кажется, запутан для меня. Вы пытаетесь щелкнуть ссылку, если ссылка отсутствует, то она выдает ошибку, поэтому она даже не идет в эту строку 'fail, если только @ browser.text.include? LinkValue'. Я напишу ниже ответ, который может удовлетворить ваши потребности. – Gopal

ответ

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 

Это может помочь.

+0

Привет, Гопал, я не понимаю, если @ browser.url.eql? 'ExpectedUrlhere', не могли бы вы объяснить мне, что – Rohin

+0

@ browser.back не переводит обратно. не могли бы вы предложить – Rohin

+0

@Rohin Вам нужно проверить, подходит ли вам страница, не так ли? Это то, что я проверяю результирующий URL. – Gopal

Смежные вопросы