OpenTest 报告库

OpenTest Reporting Library

我目前正在寻找有关 OpenTest 可用报告功能的信息。我需要以下方面的信息:

reports/logging 的可移植性 - 这些结果能否以各种格式发布

reports/logging 的粒度 - 是否有一种方法可以非常详细地了解 and/or 策略所报告的内容,以确保将足够的信息记录到允许调试自动化测试和被测系统 (SUT)

屏幕截图 - 目前是否有允许截图并published/posted到外部系统的功能?

reports/logging

的可移植性

您可以使用 API 格式(包含很多细节)或 JUnit XML 格式来获取测试会话结果:

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

reports/logging

的粒度

JSON 格式的测试结果将告诉您有关每个测试的 pass/fail 状态和测试中每个单独的测试操作的所有信息,以及用于测试操作的参数,为每个测试操作捕获的屏幕截图的名称、执行时间和许多其他有用的信息。

当您想要对失败的测试进行故障排除时,大多数时候您需要详细的日志信息,可以使用我上面提到的 APIs 检索这些信息。除了 OpenTest 本身生成的日志信息外,您始终可以使用 $log JavaScript API.

记录特定于您的应用程序或测试场景的其他信息。

截图

只要测试操作失败,就会自动捕获 Web 和 UI 测试的屏幕截图。如果您需要在测试期间捕获其他屏幕截图,您可以对任一 Web testing or mobile testing. You can also capture a screenshot after any test action by using the $screenshot 全局测试操作参数使用 TakeScreenshot 关键字:

- 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 无法提供的开箱即用的所有优秀功能。这可以使用我描述的 APIs 来完成。为了通知感兴趣的各方测试会话的当前状态,OpenTest 还提供了一个 WebSocket API。您可以使用它在测试会话结束时收到通知,然后您可以通过 APIs 提取所需的所有信息。您可以在此处找到完成所有这些工作的 Java 项目:https://github.com/adrianth/opentest-monitor。该项目旨在作为您自己的自定义集成的起点。