Tesults - 集成您的自动化测试
Tesults 提供可用于集成各种语言的库,包括 −
- Python
- Node.js / JS
- Java
- C#
- Ruby
- Go
还有可用的 REST API。要上传测试生成的数据和文件,必须使用其中一个库。
无代码集成
对于某些测试框架,可以使用可用的测试框架特定库进行集成,而无需任何代码。
无需代码即可集成的测试框架包括 −
- pytest
- Robot
- 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' 调用进行小幅更改,具体来说,需要指定报告器,'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' }
名称和结果是必需的。其他一切都是可选的。结果必须是"通过"、"失败"或"未知"之一。
提供套件很有用,因为它有助于在查看结果时对测试用例进行分组,并有助于避免名称冲突。应该提供失败测试用例的原因。
文件对于确保日志和其他测试文件得到存储并可与它们所针对的测试用例一起查看很有用。
您还可以拥有任意数量的自定义字段;它们必须以下划线 (_) 字符开头。对于每个测试用例,以这种方式构建一个字典,并将它们存储在一个数组中。
上传结果
要上传结果,每个库都提供了一个结果上传函数。对于 Python,您需要调用以下命令 −
tesults.results(data)
where the data parameter is follows −
data = { ‘target’: ‘token’, ‘results’: { ‘cases’: [<your test cases>] } }
cases 数组是上一节中创建的数组。
对于其他编程语言,该过程完全相同,只是语法有所变化。
帮助
如果您需要,Tesults 网站有一种方法可以请求集成帮助。
下一步
此时,集成已完成,我们可以看看如何查看、分析测试结果并采取行动。