【发布时间】:2013-06-03 19:42:15
【问题描述】:
我创建了一个获取屏幕截图然后写入 html 文件的方法,将该屏幕截图插入到表格中。
当我使用 Watir 时,它运行良好(仅真正使用过 IE 浏览器)。
现在我正在使用 Watir-Webdriver,它会截取屏幕截图(在 Firefox 上)并很好地保存它们。但是,当我将它们写入 html 文件时,它们只会在我的 html 页面上显示为小撕纸图标。
这是我的方法:
def LogCapture(testID, passFail)
@passFail = passFail
@testID = testID
@time = Time.now.strftime("%m.%d.%Y %H.%M.%S")
@shotLoc = $FolderPath + "\\" + @passFail + @time + ".png"
$browser.screenshot.save @shotLoc
$fileHtml.puts"<TR><TD><@testID + " " + @passFail + " " + @time + "></TD></TR>"
$fileHtml.puts"<TR><TD><img src='" + @shotLoc + "'></TD></TR>"
$log.info(@passFail)
end
我知道 Watir-Webdriver 屏幕截图会捕获页面的整个长度,这与 Watir 不同,但我不知道为什么屏幕截图无法显示在我的 html 文件/页面上。
谢谢大家
*解决方案:在写入 html 文件时让它同时显示在 FF 和 IE 中,我只需要包含: “文件:\\本地主机\” 在我的文件路径之前。
谢谢贾斯汀!去枫叶吧!
【问题讨论】:
-
我假设“小撕纸图标”表示 html 文件没有找到所需的图像。您是否验证了 fileHtml 输出中的 html 是正确的,并且图像存在于它应该存在的位置?
-
这也是我的假设,但我检查过,它在输出中确实有正确的路径。
-
我相信firefox,你需要在src中的文件路径前加上“file:///”。例如“file:///C:/folder/image.jpg”。但后来我认为它只适用于 Firefox 而不是 IE。我想您需要选择一个浏览器来查看报告。
-
你也可以使用相对uri。 (而且我认为这更好:您将能够将带有图片的整个报告发送给某人以展示它)
-
如果您的 html 文件位于 C:\Users\jetthehawk\Documents\WatirTests\Report => 您应该使用 ..\PostMigrationTests\ScreenLogs\PASSED。登录.06.07.2013 13.14.03.png
标签: screenshot watir watir-webdriver