📜  Tesults-集成自动化测试

📅  最后修改于: 2020-12-03 05:14:46             🧑  作者: Mango


Tesults使库可用于集成各种语言,其中包括-

  • Python
  • Node.js / JS
  • 爪哇
  • C#
  • 红宝石

还有一个REST API可用。要上传测试生成的数据和文件,必须使用其中一个库。

没有代码集成

对于某些测试框架,可以使用可用的特定于测试框架的库进行集成而无需任何代码。

不需要集成代码的测试框架包括-

  • pytest
  • 机器人
  • 笑话
  • 摩卡咖啡
  • 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网站,但通常,该配置是单行更改或无更改。

通过Args

有一个必需的参数传递给插件和其他可选参数。必需的arg是提供Tesults目标令牌。此令牌是在项目创建时为上一个教程页面中的默认目标生成的。如果Tesults中的配置菜单中没有此令牌,则可以获取新令牌。在配置菜单中,点击“重新生成目标令牌”

如何传递参数取决于您的测试框架和插件。例如,在pytest中,可以在pytest调用“ pytest –tesults-target token_value”中提供它,也可以使用配置文件来提供它。对于Mocha,它是类似的,它可以在名为“ mocha * –reporter mocha-tesults-reporter-tesults-target = token”的mocha中传递,也可以在配置文件中传递。

目标令牌是唯一需要的arg,有一些可选的arg用于传递构建信息和上载文件。请参阅Tesults网站,以获取有关测试框架的args的特定信息。

运行测试

运行测试,结果将立即提交给Tesults。

代码整合

如果您正在使用自定义测试框架或Tesults没有特定库或插件的测试框架,则需要使用一种语言框架。

在这里,我们将了解Python集成所涉及的内容。其他语言具有非常相似的集成过程,请访问Tesults网站以获取有关您的编程语言的特定详细信息,但请首先阅读本教程以了解该过程-

安装库

对于Python,以下是命令-

pip install tesults

对于其他语言,此过程类似,对于JS测试框架,则从npm安装该库;对于Java,则可以使用Gradle或Maven;对于C#,这些程序包托管在NuGet上,而Ruby将其作为gem提供。

配置库

对于Python,配置只涉及您要使用该库的任何模块中的要求“结果” 。同样,其他语言也需要类似的配置。有关您的编程语言的特定配置,请参见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)

数据参数跟随-

data = {
   ‘target’: ‘token’,
   ‘results’: {
      ‘cases’: []
   }
}

cases数组是在上一节中创建的数组。

对于其他编程语言,只需更改语法即可完全相同。

帮帮我

如果需要,Tesults网站提供了一种请求帮助的方法。

下一步

至此,集成已经完成,我们可以研究如何查看,分析测试结果并采取措施。