我已经设置了场景失败时要截取的屏幕截图,但是我的 html 报告在所有失败的场景中都显示了相同的屏幕截图。任何人都可以帮助并告诉我如何为每个失败的场景获取独特的屏幕截图。

这是我在 env.rb 中的代码:

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

最佳答案

您每次都将屏幕截图保存到同一个文件中(即每次都覆盖上一个屏幕截图)。该报告还将所有图像链接到同一个地方。这就是为什么你到处都能看到相同的图像。

您需要为屏幕截图提供一个唯一的名称。

例如,您可以为图像添加时间戳(带有日期和时间):

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

关于ruby - Watir-webdriver:为所有失败的场景获取相同的屏幕截图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16013103/

10-14 01:19