黄瓜嵌入的屏幕截图不链接到屏幕截图

2024-02-09

从 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 的直接路径每次都有相同的结果。

我缺少什么?

Thanks

视窗XP 红宝石 1.8.7 watir-webdriver (0.2.4) 黄瓜 (0.10.3)


Aslak:

尝试这个:

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

Aslak

Adam:

Aslak 能够看​​到嵌入的 我通过电子邮件发送给他的文件中的图像, 虽然我仍然无法做到这一点 IE 8.我在Firefox 3.6中尝试过 并且图像按预期显示。 问题原本可能是 使用嵌入方法本身(或 相反,我对它的使用),但是使用 Aslak 的 base64 解决方案只会失败 在 Internet Explorer 中工作 浏览器。

Aslak:

我相信图像的 Base64 编码 HTML 页面 [1] 可以正常工作 浏览器(抱歉,IE 不是其中之一) 他们)。然而,它should工作于 IE:http://dean.edwards.name/weblog/2005/06/base64-ie/ http://dean.edwards.name/weblog/2005/06/base64-ie/(但也许他们在 IE8 中破坏了它,或者 也许它只适用于 gif,或者 也许 IE 需要一个special有点儿 base64 编码,或者也许你应该 只是放弃 IE)

如果能够读取黄瓜 html IE 中带有屏幕截图的报告是 对你来说真的很重要,你可以 始终将每个图像写入磁盘:

 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')

显然你必须确保 您传递给嵌入的相对路径是 正确(取决于你写的地方 html 本身)

[1] http://en.wikipedia.org/wiki/Data_URI_scheme http://en.wikipedia.org/wiki/Data_URI_scheme

HTH,阿斯拉克

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

黄瓜嵌入的屏幕截图不链接到屏幕截图 的相关文章

随机推荐

  • BLE Swift 写入特性

    我正在努力让我的 TI 传感器标签温度传感器发出通知 根据http processors wiki ti com images a a8 BLE SensorTag GATT Server pdf http processors wiki
  • 自定义 spring-initializr 的工作方式?

    作为一家企业 我们希望在我们的 PCF 实例上内部托管initializr 我可以做到 我还可以修改 application yml 以默认某些选择 我通过简单地创建自己的 spring boot 应用程序来做到这一点 该应用程序使用 io
  • R 正在使用 mingw_32 编译 64 位架构的包

    定期 我想每当我更新 R 我在 64 位 Windows 机器上从源代码安装软件包时都会遇到问题 今天我尝试使用安装包devtools install github 在我的笔记本电脑上安装进行得很好 但在我的台式机上安装失败 可以将软件包安
  • 参数顺序评估

    在标准的早期版本 C 03 中 函数调用的参数求值顺序未指定 标准的后续版本 C 11 或 C 14 是否对此进行了更改 即我们是否可以依赖特定的顺序 从左到右 不 这没有改变 但最近有一个建议来改变这一点 N4228 细化表达式评估顺序
  • mingw 中的套接字编程

    我编写了服务器 客户端 C 代码并在 Visual Studio 中进行了测试 一切正常 但我想转换为 CodeBlocks MinGW Gnu CC Compiler 并且它返回一些错误 例如 warning 忽略 pragma 注释 W
  • 油藏取样

    检索k我们使用一种称为水库采样的技术从不确定大小的数组中获取随机数 有人可以用示例代码简要介绍一下它是如何发生的吗 我实际上没有意识到这个有一个名字 所以我从头开始证明并实现了这个 def random subset iterator K
  • maven-cobertura-plugin 不显示来源[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 当我通过运
  • $http 请求中的 AngularJS + Jasmine + JWT 令牌

    我正在尝试使用与 JWT 身份验证令牌一起使用的 API 构建一些测试 但我尝试测试的工厂使用 resouce 需要配置为JWT Token 在应用程序中我将其配置为 config 但在Jasmine我不知道应该怎样 因为茉莉花跑了befo
  • 为什么多边形 GeoJSON 对象的坐标存储在数组的数组中?

    正如在官方文档 http docs mongodb com manual reference geojson polygon 多边形GeoJSON对象的结构如下所示 db someCollection insert type Polygon
  • 如何避免短路评估

    我正在使用 Ruby on Rails 并希望验证两种不同的模型 if model1 valid model2 valid end 但是 运算符使用短路求值 即 仅当 model1 valid 为 true 时才求值 model2 vali
  • 创建一个带有空 src 的 iframe,这是“#”的符合标准的替代方案

    我的页面上有一个 iframe 我最初需要为其提供一个空白的 src 因为我最终使用 javascript 设置了 src 我一直在使用 Safari 和 Chrome 但遇到了一个问题 即在 iframe 中加载我的页面的重复副本 我在另
  • 滚动经过另一个 div 后,让 div 粘在页面顶部吗?

    div div div div div div div div
  • VB.NET 使用 WebRequest 检查 URI 是否有效

    寻找最佳方法来确定 VB NET 中是否存在 URI 而无需下载实际内容 System IO FileExists My Computer FileSystem FileExists可以在本地使用来确定文件是否存在 是否有适用于 Web 的
  • 我可以在迭代 C++ 容器时修改它的值吗?

    假设我有一个vector
  • Windows 上路径分隔符不明确 - 如何处理?

    另一个问题 https stackoverflow com questions 29623328 why is file pathseparatorchar a semicolon on windows提出了一个有趣的问题 在 Window
  • 获取图表js条形图来填充窗口

    我有一个chart js在画布内绘制的条形图
  • ASP.NET MVC 2 重新加载页面而不刷新并保持 URL 变化

    我正在使用 ASP NET MVC 创建一个项目 我想在占位符中显示页面内容而不刷新页面 类似于 ajax 但随着 URL 的变化 我怎样才能完成这个 谢谢你的回复 如果您更改浏览器的 url 这将自动执行重定向并刷新整个页面 您可以使用井
  • Page.IsValid 和 args.IsValid 之间有什么关系

    Page IsValid 和 args IsValid 是否相互依赖 我的意思是 如果 args IsValid true 则 Page IsValid 必须为 true 当然 反之亦然 如果 Page IsValid true 那么 ar
  • 尾随零不会进入数据库

    所以这是我的问题 我们试图将定价放入我们的数据库中 但由于某种原因 它将 10 00 转换为 10 或 10 50 转换为 10 5 它保持它只是砍掉尾随零 我检查了 SQL 语句 它说价格 10 00 所以我真的很困惑为什么 在哪里它要剥
  • 黄瓜嵌入的屏幕截图不链接到屏幕截图

    从 Cukes Google Group 交叉发布 我尝试过多种保存截图的方法 但最终选择了 watir webdriver 中内置的方法 不 无论我使用哪种方法 我都无法成功嵌入 Cucumber HTML 报告中此图像的链接 在 c r