3

シナリオが失敗したときにスクリーンショットを取得するように設定しましたが、HTML レポートには、失敗したすべてのシナリオで同じスクリーンショットが表示されます。失敗したシナリオごとに固有のスクリーンショットを取得する方法を教えてください。

私のenv.rbのコードは次のとおりです。

After do |scenario|
  if scenario.failed?
     @browser.driver.save_screenshot("screenshot.png")
     embed("screenshot.png", "image/png")
  end   
4

3 に答える 3

4

スクリーンショットを毎回同じファイルに保存しています (つまり、毎回前のスクリーンショットを上書きしています)。レポートはまた、すべての画像を同じ場所にリンクしています。これが、どこでも同じイメージを取得する理由です。

スクリーンショットには一意の名前を付ける必要があります。

たとえば、画像に (日付と時刻で) タイムスタンプを付けることができます。

After do |scenario|
  if scenario.failed?
     screenshot_file = "screenshot-#{Time.now.strftime('%Y%m%d-%H%M%S')}.png"
     @browser.driver.save_screenshot(screenshot_file)
     embed(screenshot_file, "image/png")
  end   
end
于 2013-04-15T12:54:14.123 に答える
0

RSpec を使用している場合は、watir-rspecプロジェクトに HtmlFormatter の非常に優れた実装があります。

于 2013-08-22T01:16:10.637 に答える