来自 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/