Karate 更改空手道Chrome的Chrome可执行文件的默认路径

Karate 更改空手道Chrome的Chrome可执行文件的默认路径,karate,Karate,我正在使用空手道框架进行API测试。作为CI工作的一部分,我们在测试执行结束时发送一封电子邮件,列出测试结果的摘要。需要包括来自“overview feature.html”文件的测试执行计数的屏幕显示 我使用Chrome.start()通过TestRunner.java文件启动了Chrome,然后使用它拍摄屏幕截图。它在Windows上本地运行良好。 但是,当在作为Unix设备的CI服务器上执行时,chrome可执行文件不在默认位置(usr/bin/google chrome),因此本地主机的

我正在使用空手道框架进行API测试。作为CI工作的一部分,我们在测试执行结束时发送一封电子邮件,列出测试结果的摘要。需要包括来自“overview feature.html”文件的测试执行计数的屏幕显示

我使用Chrome.start()通过TestRunner.java文件启动了Chrome,然后使用它拍摄屏幕截图。它在Windows上本地运行良好。 但是,当在作为Unix设备的CI服务器上执行时,chrome可执行文件不在默认位置(usr/bin/google chrome),因此本地主机的连接失败

有没有办法改变chrome可执行文件的默认位置


PS:如果这件事太琐碎而无法提出,请道歉。

是的,CI上的Chrome很难正确,请参阅:-注意CI框通常是“无头”的,甚至可能没有安装浏览器

我认为对你来说最好的事情是压缩HTML并发送它。但我真的认为你需要与一些CI专家合作,因为报告生成和电子邮件业务通常是由Jenkins这样的人完成的。你所做的肯定不是正常或最佳实践

如果你真的想要,有一个空手道Docker容器可以为你提供一个合适的Chrome实例(),但是对于你所需要的来说,这太过分了

编辑:Chrome Java API允许自定义可执行路径,这在文档中:

应该是这样的:

Chrome.start("/opt/blah/chrome");

是的,CI上的Chrome很难正确使用,请参阅:-注意,CI框通常是“无头”的,甚至可能没有安装浏览器

我认为对你来说最好的事情是压缩HTML并发送它。但我真的认为你需要与一些CI专家合作,因为报告生成和电子邮件业务通常是由Jenkins这样的人完成的。你所做的肯定不是正常或最佳实践

如果你真的想要,有一个空手道Docker容器可以为你提供一个合适的Chrome实例(),但是对于你所需要的来说,这太过分了

编辑:Chrome Java API允许自定义可执行路径,这在文档中:

应该是这样的:

Chrome.start("/opt/blah/chrome");

谢谢彼得的及时回复。是的,docker确实是一个过火的人,因为我需要浏览器来截图。现在,我已经通过Jenkins将html和其他工件作为压缩文件发送。通过jenkins发送的电子邮件通过自定义html电子邮件模板路由。此外,利益相关者倾向于忽略zip文件中的无数文件,因此考虑将屏幕截图包含在电子邮件正文中以使其更可见。所以我想知道是否有或者已经有一个条款来更改Chrome可执行文件的默认位置。谢谢again@LeoP在下一个版本中,我们可以尝试提供易于附加到电子邮件的HTML报告的“lite”版本。但是请注意,您可以更改
Chrome.start()
查找可执行文件的位置。请参阅我的编辑以获得答案。感谢Peter的及时回复。是的,docker确实是一个过火的人,因为我需要浏览器来截图。现在,我已经通过Jenkins将html和其他工件作为压缩文件发送。通过jenkins发送的电子邮件通过自定义html电子邮件模板路由。此外,利益相关者倾向于忽略zip文件中的无数文件,因此考虑将屏幕截图包含在电子邮件正文中以使其更可见。所以我想知道是否有或者已经有一个条款来更改Chrome可执行文件的默认位置。谢谢again@LeoP在下一个版本中,我们可以尝试提供易于附加到电子邮件的HTML报告的“lite”版本。但是请注意,您可以更改
Chrome.start()
查找可执行文件的位置。请参见我的编辑以获得答案