我在Selenium Web驅動程序中編寫了一個代碼來測試我網站的聯繫我們頁面的健康狀況。Selenium Webdriver中的ScriptError救援?
代碼工作正常。我的另一個目的是:
- 使用救援(得到的錯誤消息時該腳本失敗特別是當沒有在功能>「高清test_contact_us_screen_shot」執行過程中發現的一些元素。)。
參考代碼。
require 'rubygems'
require "selenium-webdriver"
require "test/unit"
class ContactUsScreenShot < Test::Unit::TestCase
def setup
@driver = Selenium::WebDriver.for :firefox
@base_url = "http://www.mycompany.com"
@driver.manage.timeouts.implicit_wait = 30
@verification_errors = []
end
def teardown
@driver.quit
assert_equal [], @verification_errors
end
def test_contact_us_screen_shot
@driver.get(@base_url + "/contact_us")
#This method will take screenshot and save it in the same folder from where script is executed.
@driver.save_screenshot("./screen1.png")
puts "screen shot taken"
assert_equal "mycompany.com - Discuss your requirements to Outsource Software Product Development, Offshore Software Testing,", @driver.title
@driver.find_element(:id, "compan").clear
@driver.find_element(:id, "company").send_keys "My Company"
@driver.find_element(:id, "first_name").clear
@driver.find_element(:id, "first_name").send_keys "Mrityunjay"
@driver.find_element(:id, "last_name").clear
@driver.find_element(:id, "last_name").send_keys "Chauhan"
@driver.find_element(:id, "email").clear
@driver.find_element(:id, "email").send_keys "[email protected]"
@driver.find_element(:id, "phone1").clear
@driver.find_element(:id, "phone1").send_keys "9999999999"
@driver.find_element(:id, "addr1").clear
@driver.find_element(:id, "addr1").send_keys "306 Office Address"
@driver.find_element(:id, "addr2").clear
@driver.find_element(:id, "addr2").send_keys "Office Address"
@driver.find_element(:id, "city").clear
@driver.find_element(:id, "city").send_keys "Dehradun"
@driver.find_element(:id, "state").clear
@driver.find_element(:id, "state").send_keys "UK"
Selenium::WebDriver::Support::Select.new(@driver.find_element(:id, "country")).select_by(:text, "India")
@driver.find_element(:id, "zip").clear
@driver.find_element(:id, "zip").send_keys "248001"
@driver.find_element(:id, "website").clear
@driver.find_element(:id, "website").send_keys "http://www.mycompany.com"
@driver.find_element(:id, "comments").clear
@driver.find_element(:id, "comments").send_keys "This is the Testing Script for Contact Us page. Please Ignore.\nThanks,\nMrityunjay Chauhan"
@driver.find_element(:name, "submit").click
assert_equal "mycompany.com - Discuss your requirements to Outsource Software Product Development, Offshore Software Testing,", @driver.title
begin
rescue Exception => e
puts e.message
@driver.save_screenshot("./error1.png")
end
puts "I am Here"
end
def element_present?(how, what)
@driver.find_element(how, what)
true
rescue Selenium::WebDriver::Error::NoSuchElementError
false
end
def verify(&blk)
yield
rescue Test::Unit::AssertionFailedError => ex
@verification_errors << ex
end
end
KS,我想在我的劇本上面的代碼,並得到了以下錯誤: 1)故障: test_contact_us_screen_shot(ContactUsScreenShot)[聯繫-US-ScreenShot.rb:56]: 我的錯誤消息。 <"false">預期= 。 – Mrityunjay
在執行帶救援的腳本,如下所示,事情工作正常。 開始 救援異常=>電子 放e.message @ driver.save_screenshot( 「./ error1.png」) 結束 – Mrityunjay
所以沒工作?如果它確實幫助你,請將此標記爲你的答案。 – Amey