轻量级测试框架Tavern(一)

2021-07-09 11:43:38 浏览数 (1)

Tavern是一款轻量级的测试框架,集合Pytest的测试框架,可以把测试的描述信息(API的请求信息)以及测试断言都可以编写在Yaml的文件中,然后结合Pytest的测试框架直接解析Yaml就可以来批量的执行。在Tavern的测试框架中,它追求的是“Easier API testing”的设计理念,不过从目前实践的应用来看,它是符合这样的一种简单的模式的,Easy to Write, Easy to Read and Understand。

下面主要还是结合具体的来看它的应用,比如我们测试一个登录的接口,它的响应数据以及结果信息如下:

在这样的一个API测试中,我们使用Tavern实现的模式其实非常简单,创建文件test_example_login.tavern.yaml,内容具体内容:

代码语言:javascript复制
test_name: 登录API请求
stages:
  - name: 登录API请求
    request:
      url: http://localhost:5000/login
      method: POST
      json:
        username: wuya
        password: admin
        sex: 男
        age: 18
    response:
      status_code: 200
      json:
        age: 18
        password: admin
        sex: "男"
        username: wuya

执行命令为:

我们可以看到,很轻松的执行完成,而且在Yaml的文件里面,针对被测试的API的描述是非常清晰的。那么Tavern的测试框架它能够解决一个什么问题了?我个人理解,它能够解决的是给部分不会使用编程语言的测试同学也可以使用该轻量级的测试框架,也可以来进行API的自动化测试。当然,不管是基于什么样的测试框架测试,它都是需要报告的。其实Tavern既然是基于Pytest来进行设计的,那么也就可以使用Allure的测试报告,这里假设都已配置了Allure的环境变量,并且都已安装,使用如下命令也就能够生成测试报告,具体命令如下:

这样就会显示出测试报告,查看如下测试报告,具体如下:

在如上中,我们可以看到使用Tavern很轻松的就能够实现API的自动化测试,也符合了Easy to Write, Easy to Read and Understand的设计思想。

0 人点赞