接口自动化参数化(一)

在进行接口测试时,对同一个接口进行测试时,会有多个不同参数进行测试,这些参数的位置、结构相同,可以使用参数化的方法代替写多条用例

 1 import unittest
 2 import requests
 3 from parameterized import parameterized
 4 class Apitest(unittest.TestCase):
 5     
 6     @classmethod
 7     def setUpClass(cls):
 8         print("开始")
 9     @classmethod
10     
11     def tearDownClass(cls):
12         print("结束")
13         
14     @parameterized.expand([
15         ("username","","","用户名或密码不存在"),
16         ("lose_one","admin","","用户名或密码不存在"),
17         ("error_username","admin1","12345678","用户名错误!"),
18         ("error_password","admin","1234567","11111111111111111"),
19 
20     ])
21     
22     def test_api(self,name_cs,name,password,msg):
23         url = "http://localhost/api/user/login"
24         header = {'Content-Type': 'application/json'}
25         json = {
26             "username" : name,
27             "password" : password
28         }
29         timeout = 4
30 
31         r = requests.post(url,  headers=header, json=json, timeout=timeout)
32 
33         self.assertIn(msg,r.text)

下载parameterized

pip install parameterized

这个脚本为登录接口测试用例

使用parameterized.expand添加参数

每一条用例执行4个参数,分别为用例名称、name、password、以及预期结果,实际使用时可按接口要求自行修改

猜你喜欢

转载自www.cnblogs.com/wbw-test/p/10521468.html