学习HttpRunner中的参数驱动,使用testcases和testsuites文件以及搭配一个cvs文件,完成创建活动

  • 目录以及作用

学习HttpRunner中的参数驱动,使用testcases和testsuites文件以及搭配一个cvs文件,完成创建活动_第1张图片

  1. api:为了更好地对接口描述进行管理,推荐使用独立的文件对接口描述进行存储,即每个文件对应一个接口描述。接口定义描述的主要内容包括:name、variables、request、base_url、validate 等;
  2. testcases引用接口定义,有了接口的定义描述后,我们编写测试场景时就可以直接引用接口定义了;
  3. testsuites:测试用例集,当测试用例数量比较多以后,为了方便管理和实现批量运行,通常需要使用测试用例集来对测试用例进行组织。
  • 我今天用到的只有testcases和testsuites两个之间的引用关系
  1. 在testcases目录中,创建一个.yml文件,起名为test_channel4.yml,它的内容符合一般测试用例的格式,具体如下所示:
- config:
    name: test_channel4                                 #用例名称
    base_url: https://XX-XX-XX.weiXXX100.com            #域名

- test:
    name: test                                          #也是一个名字
    request:                                            #请求
      url: /XX/XX/save/qrxxxx                          #请求路径
      method: POST                                      #请求方法
      json:                                             #请求携带的参数
        authorizerId: 1
        channelName: ${channelName}                     #使用参数化时,参数的书写方式
      headers:                                          #书写请求头部,主要是cookie,可将某个接口自己的Cookie全部复制出来
        Cookie: XXXXXXX
    validate:
    -   eq:
        - status_code
        - 200
    -   eq:
        - headers.Content-Type
        - application/json;charset=UTF-8
    -   eq:
        - content.code
        - 200
    -   eq:
        - content.msg
        - ok

2. 创建一个data的文件夹,在文件夹中创建一个.csv文件,起名为channelName.csv,其内容如下所示:

channelName                   #变量/标识符
package1                      #对应的值
package2                      
package3
package4
package5

# 对.csv文件中参数的说明,上述为一个参数的情况,下面介绍大于等于两个参数的写法,如下所示:

id,age,name,grade
1,8,小花,88
2,9,小叶,99

3. 在testsuites中再创建一个.yml文件,起名为test_channel5.yml文件,它的格式和引用测试用例的格式相同,如下所示:

config:
  name: test_channel                                    #名称

testcases:                                              #说明引用的是testcases
    testcases5:                                         #这是一个名字,必须有
      testcase: ../testcases/test_channel4.yml          #引用的测试用例的路径
      parameters:                                       #对参数的描述,对于在测试用例中引用参数的场景,parameters是必须要有的
        channelName: ${P(/Users/xxxx/PycharmProjects/simpleTest/data/channelName.csv)}
        #channelName是在.csv文件中的变量名称,channelName的值是它自己所对应的.csv的路径

4. 当一切都准备就绪之后,可以运行这个测试用例了,运行的路径与命令如下所示:

bogon:testsuites xxxx$ hrun test_channel5.yml                 #此处是在testsuites这个目录底下进行运行命令
INFO     HttpRunner version: 2.2.5
INFO     Start to run testcase: testcases5
test
INFO     POST https://xxxx-xxxx-yy.xxxxxx100.com/yy/xxxxxxxxx
INFO     status_code: 200, response_time(ms): 1753.69 ms, response_length: 50 bytes

.

----------------------------------------------------------------------
Ran 1 test in 1.756s

OK
INFO     Start to run testcase: testcases5
test
INFO     POST https://xxxx-xxxx-yy.xxxxxx100.com/yy/xxxxxxxxxx
INFO     status_code: 200, response_time(ms): 1647.59 ms, response_length: 50 bytes

.

----------------------------------------------------------------------
Ran 1 test in 1.649s

OK
INFO     Start to run testcase: testcases5
test
INFO     POST https://xxxx-xxxx-yy.xxxxxx100.com/yy/xxxxxx
INFO     status_code: 200, response_time(ms): 1638.48 ms, response_length: 50 bytes

.

----------------------------------------------------------------------
Ran 1 test in 1.640s

OK
INFO     Start to run testcase: testcases5
test
INFO     POST https://xxxx-xxxx-yy.xxxxxx100.com/yy/xxxxxx
INFO     status_code: 200, response_time(ms): 1839.29 ms, response_length: 50 bytes

.

----------------------------------------------------------------------
Ran 1 test in 1.841s

OK
INFO     Start to run testcase: testcases5
test
INFO     POST https://xxxx-xxxx-yy.weixxx100.com/yy/xxxxxxx
INFO     status_code: 200, response_time(ms): 1534.84 ms, response_length: 50 bytes

.

----------------------------------------------------------------------
Ran 1 test in 1.536s

OK
INFO     Start to render Html report ...
INFO     Generated Html report: /Users/xxxx/PycharmProjects/simpleTest/testsuites/reports/1570776470.html

运行成功了!

来看一下测试报告:

学习HttpRunner中的参数驱动,使用testcases和testsuites文件以及搭配一个cvs文件,完成创建活动_第2张图片

完成! 

你可能感兴趣的:(软件测试之自动化测试学习)