我目前正在寻找有关 OpenTest 可用报告功能的信息。我需要有关以下方面的信息:
报告/记录的可移植性——这些结果是否可以以各种格式发布
报告/日志记录的粒度- 有没有一种方法可以非常详细地报告所报告的内容和/或策略,以确保记录足够的信息以允许调试自动化测试和被测系统 (SUT)
屏幕截图- 当前是否有允许截取屏幕截图并将其发布/发布到外部系统的功能?
我目前正在寻找有关 OpenTest 可用报告功能的信息。我需要有关以下方面的信息:
报告/记录的可移植性——这些结果是否可以以各种格式发布
报告/日志记录的粒度- 有没有一种方法可以非常详细地报告所报告的内容和/或策略,以确保记录足够的信息以允许调试自动化测试和被测系统 (SUT)
屏幕截图- 当前是否有允许截取屏幕截图并将其发布/发布到外部系统的功能?
您可以使用 JSON 格式(包含很多细节)或 JUnit XML 格式的 API 获取测试会话结果:
http://localhost:3000/api/session/<SESSION_ID>?format=json
http://localhost:3000/api/session/<SESSION_ID>?format=junit
测试会话的详细日志可以检索为:JSON 或人类可读格式:
http://localhost:3000/api/session/<SESSION_ID>/log?format=json
http://localhost:3000/api/session/<SESSION_ID>/log?format=pretty
JSON 格式的测试结果将告诉您有关每个测试的通过/失败状态以及测试中每个单独的测试操作、用于测试操作的参数、为每个测试操作捕获的屏幕截图的名称所需了解的所有信息,执行时间和许多其他有用的信息。
当您想要对失败的测试进行故障排除时,大多数时候您需要详细的日志信息,这些信息可以使用我上面提到的 API 来检索。除了 OpenTest 本身生成的日志信息之外,您始终可以使用$log JavaScript API 记录特定于您的应用程序或测试场景的其他信息。
每当测试操作失败时,会自动为 Web 和 UI 测试捕获屏幕截图。如果您需要在测试期间捕获额外的屏幕截图,您可以使用TakeScreenshot
关键字 for Web testing或mobile testing来实现。您还可以使用$screenshot全局测试操作参数在任何测试操作之后捕获屏幕截图:
- description: Click product 1 and capture a screenshot
action: org.getopentest.selenium.Click
args:
locator: { id: product1 }
$screenshot: true
您可以使用此 API 下载屏幕截图:
https://localhost:3000/api/screenshot/SID1554380072_WEB_T05_SG01_ST01_after_03.png
SID1554380072_WEB_T05_SG01_ST01_after_03.png
是截图文件的名称,可以在JSON格式的测试执行结果中找到。
在某些时候,您需要与专用的报告产品集成,该产品可以为您提供 OpenTest 无法提供的开箱即用的所有出色功能。使用我描述的 API 可以做到这一点。为了通知相关方测试会话的当前状态,OpenTest 还提供了 WebSocket API。您可以使用它在测试会话完成时收到通知,然后您可以通过 API 提取所需的所有信息。你可以在这里找到一个 Java 项目:https ://github.com/adrianth/opentest-monitor 。该项目旨在作为您自己的自定义集成的起点。