[英]Take a scenario failure screenshot
在我使用 Ruby / Capybara / Cucumber / Selenium 的自動化測試中,當我的測試的某些步驟失敗時,有必要執行以下步驟:
知道如何幫助我解決這個問題嗎?
今天系統截屏作為場景成功的證據,但現在我想在不干擾我所有測試的執行的情況下截取失敗的截圖,跟隨下一步或場景的執行。
當前用作截屏鈎子的示例代碼:
After do | scenario |
screenshot = "log / screenshots / # {scenario.name} .png"
page.save_screenshot (screenshot)
embed (screenshot, 'image / png', 'Screen_Evidence')
end
這應該為您在故障點創建一個屏幕截圖。
config.after(:each) do |example|
if example.exception
screenshot = "log / screenshots / # {scenario.name} .png"
page.save_screenshot(screenshot) embed(screenshot, 'image/png', 'Screen_Evidence') end end
您可能希望將其限制為功能測試,並且您可以選擇嘗試將現有屏幕截圖代碼重構為相同的功能。
試試這個方法。
After do |scenario|
if scenario.failed?
timestamp = "#{Time.zone.now.strftime('%Y-%m-%d-%H:%M:%S')}"
screenshot_name = "screenshot-#{scenario.name}-#{timestamp}.png"
screenshot_path = "#{Rails.root.join(provide path to save screenshots)}/#{screenshot_name}"
Capybara.page.save_screenshot(screenshot_path, full: true)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.