我目前正在寻找有关OpenTest可用报告功能的信息。我需要以下方面的信息:
报告/日志的可移植性-这些结果可以各种格式发布
报告/记录的粒度-是否有一种方法可以非常详细地记录报告的内容和/或策略,以确保记录了足够的信息以允许调试自动化测试和System Under测试(SUT)
屏幕截图-当前是否存在允许将屏幕截图拍摄并发布/发布到外部系统的功能?
答案 0 :(得分:1)
您可以使用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测试的屏幕快照。如果您需要在测试期间捕获其他屏幕截图,可以使用Web testing或mobile testing的TakeScreenshot
关键字来捕获。您还可以使用$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提取所需的所有信息。您可以在https://github.com/adrianth/opentest-monitor处找到可以完成所有操作的Java项目。该项目旨在作为您自己的自定义集成的起点。