来自 Cukes Google Group 的交叉发布:

我尝试了多种保存屏幕截图的方法,
但最终选择了 watir-webdriver 内置的方法。不
无论我使用哪种方法,我都无法成功嵌入
在 Cucumber HTML 报告中链接到此图像。

在 c:\ruby\cucumber\project_name\features\support\hooks.rb 中,我使用:

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

报告中添加了一个带有文本“屏幕截图”的链接,但 URL 是
项目目录路径 ("c:\ruby\cucumber\project_name") 而不是
而不是直接链接到文件 ("c:\ruby\cucumber\project_name\screenshot.png") 。我尝试了多种不同的图像格式
和使用 Dir.pwd 的直接路径,每次都具有相同的结果。

我错过了什么?

谢谢

视窗 XP
ruby 1.8.7
watir-webdriver (0.2.4)
cucumber (0.10.3)

最佳答案

阿斯拉克:


After do |scenario|
  if scenario.failed?
    encoded_img = @browser.driver.screenshot_as(:base64)
    embed("data:image/png;base64,#{encoded_img}",'image/png')
  end
end



亚当:



阿斯拉克:


 png = @browser.driver.screenshot_as(:png)
 path = (0..16).to_a.map{|a| rand(16).to_s(16)}.join + '.png' # Or use some GUID library to make a unique filename - scenario names are not  guaranteed to be unique.
 File.open(path, 'wb') {|io| io.write(png)}
 embed(path, 'image/png')

关于ruby - cucumber 嵌入屏幕截图未链接到屏幕截图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6229071/

10-16 12:41