Tesults - 集成您的自动化测试
Tesults 提供了可用于集成各种语言的库,包括:
- Python
- Node.js / JS
- Java
- C#
- Ruby
- Go
还提供了一个 REST API。要上传测试生成的數據和文件,必须使用其中一个库。
无需代码集成
对于某些测试框架,可以使用提供的特定于测试框架的库进行无需任何代码的集成。
无需代码即可集成的测试框架包括:
- pytest
- Robot Framework
- Jest
- Mocha
- JUnit5
- NUnit 3
所有这些库的集成过程都类似。
安装插件
在您的测试项目中,安装相关的 Tesults 插件。例如,如果您使用的是 pytest,则可以使用“pip install tesults”,然后使用“pip install pytest-tesults”。如果您使用的是 Mocha,则可以使用“npm install mocha-tesults-reporter –save”。请参阅 Tesults 网站上您测试框架的相应命令。
配置插件
有些插件不需要配置即可立即使用,有些插件需要少量配置。例如,在 pytest 的情况下,不需要额外的配置,它可以直接使用。
在 Mocha 的情况下,需要对“mocha”调用进行少量更改,具体来说需要指定 reporter,“mocha --reporter mocha-tesults-reporter”。请参阅 Tesults 网站以了解您正在使用的框架的具体配置,但通常情况下,配置只需要一行更改或无需更改。
传递参数
需要向插件传递一个必需参数和其他可选参数。必需参数是提供 Tesults 目标令牌。此令牌在上一个教程页面中为默认目标生成的。如果您没有此令牌,可以在 Tesults 的配置菜单中获取新令牌。单击配置菜单中的“重新生成目标令牌”。
如何传递参数取决于您的测试框架和插件。例如,在 pytest 中,它可以在 pytest 调用中提供“pytest --tesults-target token_value”,或者使用配置文件。对于 Mocha,它类似,可以在 mocha 调用中传递“mocha * --reporter mocha-tesults-reporter --tesults-target=token”,或者可以在配置文件中传递。
目标令牌是唯一必需的参数,还有用于传递构建信息和文件上传的可选参数。有关您测试框架的参数的具体信息,请参阅 Tesults 网站。
运行测试
运行您的测试,结果现在将提交到 Tesults。
代码集成
如果您使用的是自定义测试框架或 Tesults 没有特定库或插件的测试框架,则需要使用其中一个语言框架。
在这里,我们将了解 Python 集成涉及的内容。其他语言的集成过程非常相似,请参阅 Tesults 网站以了解您的编程语言的具体详细信息,但请先按照本教程操作以了解流程:
安装库
对于 Python,命令如下:
pip install tesults
对于其他语言,该过程类似,对于 JS 测试框架,您可以从 npm 安装库,对于 Java,您可以使用 Gradle 或 Maven,对于 C#,软件包托管在 NuGet 上,Ruby 可将其作为 gem 使用。
配置库
对于 Python,配置仅涉及在您要使用库的任何模块中require ‘tesults’。同样,其他语言也需要类似的配置。请参阅 Tesults 网站以了解您的编程语言的具体配置。
映射测试数据
此步骤是无需代码插件允许您避免的操作。对于基于代码的集成,您必须将测试数据映射到 Tesults 测试数据。
对于 Python,这意味着将每个测试用例结果转换为 Python 字典:
{
'name': 'Tutorial 1',
'desc':'Tutorial 1 .',
'suite': 'Tutorials Point',
'result': 'fail',
'reason': 'Assert fail in line 102, tutorialspoint.py',
'files': ['full-path/log.txt', 'full-path/screencapture.png'],
'_CustomField': 'Custom field value'
}
名称和结果是必需的。其他所有内容都是可选的。结果必须是“pass”、“fail”或“unknown”之一。
套件很有用,因为它有助于在查看结果时对测试用例进行分组,并有助于避免名称冲突。应为失败的测试用例提供原因。
文件有助于确保日志和其他测试文件被存储,并且可以与它们所属的测试用例一起查看。
您还可以拥有任意数量的自定义字段;它们必须以下划线 (_) 字符开头。对于每个测试用例,都以这种方式构建字典,并将它们存储在数组中。
上传结果
要上传结果,每个库都提供一个结果上传函数。在 Python 的情况下,您需要调用以下内容:
tesults.results(data)
其中 data 参数如下:
data = {
‘target’: ‘token’,
‘results’: {
‘cases’: [<your test cases>]
}
}
cases 数组是在上一节中创建的数组。
对于其他编程语言,该过程完全相同,只是语法有所更改。
帮助
Tesults 网站提供了一种在需要时请求集成帮助的方法。
后续步骤
此时,集成已完成,我们可以查看如何查看、分析和根据测试结果采取行动。