Используя Selenium, Ruby
Я пытаюсь узнать правильный способ закрытия теста, если объект не существует.Например, у меня есть тест, который вызывает функцию «Click_Login», которая, в свою очередь, переходит к функции и возвращает ссылку на объект или текст «Stop Test», если он не существует.Эта часть работает правильно.
Однако после закрытия браузера тест продолжается и пытается выполнить varLoginBtn.click и завершается неудачей, поскольку Stop Test.click не существует.Я думал, что тест остановился бы после driver.quit и не перешел бы на varLoginBtn.click.
Моя цель - сделать так, чтобы тест был остановлен, если объект не существует.Возможно, я делаю это неправильно.
#The test.rb
varLoginBtn = toNavigate.Click_LogIn(driver) #calls function down below.
if varLoginBtn == "Stop Test"
driver.quit
end
varLoginBtn.click #click on the button
#functions.rb
#in the Class toNavigate
#Login Button
def Click_LogIn(driver)
puts "In the login"
wait = Selenium::WebDriver::Wait.new(:timeout => 15)
begin
element= wait.until{driver.find_element(:xpath, "//*[@xas-string='SDE_LOG_INN']")} #Log_INN is intentional I want it to fail.
return element
rescue
puts "The Login button did not exist"
return "Stop Test"
end
end
Спасибо за вашу помощь.