To Lanhe 小伙伴:Web接口测试, 参数化测试

Posted python频道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了To Lanhe 小伙伴:Web接口测试, 参数化测试相关的知识,希望对你有一定的参考价值。

上回在介绍WEB测试框架时,遗留了一个问题:是否可以通过一组参数批量生成测试用例?

可以的,今天在 github找到一个好用的parameterized库,现在分享给大家

安装parameterized

pip install parameterized

代码中引用

 
   
   
 
  1. #! /usr/bin/env python

  2. # -*- coding: utf-8 -*-

  3. import unittest

  4. from parameterized import parameterized

  5. class TestWebApi(unittest.TestCase):

  6.    # 定义一组测试用例数据,定义格式

  7.    # 格式: 用例名称,输入参数,预期结果;

  8.    @parameterized.expand([

  9.        ("case 1", 10, 100),

  10.        ("case 2", 20, 200),

  11.        ("case 3", 30, 300),

  12.    ])

  13.    # 写一个用例执行函数

  14.    # 入参与上述定义的格式一致, 可以自由扩展

  15.    def test_ApiLogin(self, name, input, expected):

  16.        print name, input, expected

  17.        '''

  18.        # 请求url

  19.        url = self.getUrl(api);

  20.        # 请求参数

  21.        data = self.data;

  22.        data['requestParam']['requestCode'] = input;

  23.        # 调用接口

  24.        r = requests.post(url = url,json = data, headers = self.headers);

  25.        # 校验响应报文

  26.        AssertEqual(self, jsonStr(r.text)['responseState']['code'], expected);

  27.        '''

  28. if __name__=="__main__":

  29.    unittest.main()

运行效果

这样就可以只需要写一个函数,生成一组测试用例,进行参数化测试了。

如有问题可以留言或与我联系。



以上是关于To Lanhe 小伙伴:Web接口测试, 参数化测试的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter 接口测试,参数值为列表,如何参数化?

基于 Jmeter 的 web 端接口自动化测试平台

Jmeter接口测试系列之参数化方法

JMeter接口测试 ~ 参数化

接口测试-jmeter篇

[接口测试_B] 05 Pytest参数化处理