J07_优化一下测试用例集合

J07_优化一下测试用例集合

 

前面我们完成了“定义接口文件 - 编写测试用例 - 定义测试集 - 执行测试”一个完整的测试过程,但是有些地方明显味道不好。例如每个接口定义文件中都用到了一些相同的参数,我们是否可以只定义一次呢?

 

HttpRunner 提供了灵活的变量传递处理机制:

  • 在测试集合里定义变量
  • 接口/用例中的变量直接取测试集合里面变量的值

 

 

修改思路如下:

  • 去掉接口文件中“variable”部分的所有变量定义
  • 测试用例的内容保持不变
  • 在测试集文件中,增加“variable”部分的所有变量定义

 

 

1. 修改后的接口文件(去除变量定义):gitee_api_get_branch.yml

name: 获取仓库单个分支接口
base_url: https://gitee.com/api/v5/repos
request:
  url: /$owner/$repo/branches/$branch
  method: GET
  params:
    access_token: $token
extract:
  - author: content.commit.commit.author.name
validate:
  - eq: [status_code, 200]
  - eq: [$author, 悠灵]

 

 

2. 修改后的接口文件(去除变量定义):gitee_api_get_commits.yml

name: 获取某个分支的所以提交信息
base_url: https://gitee.com/api/v5
request:
  url: /repos/$owner/$repo/commits
  method: GET
  params:
    access_token: $token
    sha: $branch
extract:
  - message: content.0.commit.author.name
validate:
  - eq: [status_code, 200]
  - eq: [$message, 悠灵]

 

 

3. 未改变的用例文件:gitee_test01_get_master.yml

- config:
    name: 测试获取“仓库某个分支”接口
- test:
    name: 获取 master 分支
    api: gitee_api_get_branch.yml

 

 

4. 未改变的用例文件:gitee_test02_get_commits.yml

- config:
    name: 测试获取“仓库某个分支所有提交”接口
- test:
    name: 测试获取 master 分支所有提交
    api: gitee_api_get_commits.yml

 

 

5. 修改后的测试集文件(增加变量定义):gitee_suite.yml

config:
  name: 测试获取“某个分支”和“某个分支所有提交”接口
  variables:
    token: d66685d1474c67f8ef2860c34561e1f5
    owner: youling_zhulongcao
    repo: Test
    branch: master

testcases:
  testcase 1:
    name: 获取“某个分支”
    testcase: gitee_test01_get_master.yml
  
  testcase 2:
    name: 获取“某个分支所有提交”
    testcase: gitee_test02_get_commits.yml

 

 

这样看起来是否清爽很多呢? 接口/用例文件中只涉及变量的使用,而变量的定义和赋值放到测试集合文件中,一次定义多处使用。

 

当然这里也涉及作用域的问题,如果测试集合和测试用例中定义了相同的变量会怎样呢?测试集合中的变量会覆盖测试用例中的同名变量。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值