【发布时间】:2019-04-04 23:07:53
【问题描述】:
我目前正在寻找有关 OpenTest 可用报告功能的信息。我需要以下信息:
可移植性报告/日志记录 - 这些结果能否以各种格式发布
报告/日志的粒度 - 有没有一种方法可以非常详细地了解报告的内容和/或策略,以确保记录足够的信息以允许调试自动化测试和 System Under测试(SUT)
屏幕截图 - 目前是否有允许截取屏幕截图并将其发布/发布到外部系统的功能?
【问题讨论】:
标签: opentest
我目前正在寻找有关 OpenTest 可用报告功能的信息。我需要以下信息:
可移植性报告/日志记录 - 这些结果能否以各种格式发布
报告/日志的粒度 - 有没有一种方法可以非常详细地了解报告的内容和/或策略,以确保记录足够的信息以允许调试自动化测试和 System Under测试(SUT)
屏幕截图 - 目前是否有允许截取屏幕截图并将其发布/发布到外部系统的功能?
【问题讨论】:
标签: opentest
您可以使用 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 关键字 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。此项目旨在作为您自己的自定义集成的起点。
【讨论】: