test_doAdd.py
3.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import unittest
import json
import urllib3
from commons.api.login import login
from commons.api.fieldConfig import fieldConfig
from commons.api.doAdd import doAdd
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
ll=login()
do=doAdd()
field=fieldConfig()
#列表查询
class test_doAdd(unittest.TestCase):
@classmethod
def setUpClass(cls):
#获取session
cls.se=ll.get_session("user01",allow_redirects=False)
#提前配置新增页的字段配置
field.post("user01",url=field.url,headers=field.header,json=field.body)
def setUp(self):
pass
def test_01_doAdd(self):
#成功新增一个商品为大白菜的报备单,重量为111
re=self.se.post(url=do.url,headers=do.header,json=do.body,proxies={'http': 'http://localhost:8888', 'https': 'http://localhost:8888'})
print(re.json())
self.assertEqual(re.status_code, 200)
self.assertTrue("'code':'200'" in str(re.json()).replace(" ",""))
def test_02_doAdd(self):
#成功新增一个商品为鲜花生的报备单,重量为111
body=do.body.copy()
body["productName"]="鲜花生"
body["productId"]="3496"
re=self.se.post(url=do.url,headers=do.header,json=body,proxies={'http': 'http://localhost:8888', 'https': 'http://localhost:8888'})
print(re.json())
self.assertEqual(re.status_code, 200)
self.assertTrue("'code':'200'" in str(re.json()).replace(" ",""))
def test_03_doAdd(self):
#用错误的用户来新增,无法新增
body=do.body.copy()
body["userId"]="516111"
re=self.se.post(url=do.url,headers=do.header,json=body,proxies={'http': 'http://localhost:8888', 'https': 'http://localhost:8888'})
print(re.json())
self.assertEqual(re.status_code, 200)
self.assertTrue("查询客户信息失败" in str(re.json()).replace(" ",""))
def tearDown(self):
pass
@classmethod
def tearDownClass(cls):
cls.se.close()
if __name__ == "__main__":
#unittest.main()方法会搜索该模块文件下所有以test开头的测试用例方法,并自动执行它们。
#如果不加下面这个语句,那么在通过unittest的方法添加测试用例时,这个文件里面的用例不会被搜索到。
# unittest.main(verbosity=2)
# # 以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码,
# # 在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台
current_suite = unittest.TestSuite()
current_suite.addTest(test_doAdd("test_03_doAdd"))
# #以列表形式添加多个测试用例
# # current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])
# # 执行测试
runner = unittest.TextTestRunner()
## runner.run(可以直接添加测试用例如submitOrder_With_Coupon("test_01"))
runner.run(current_suite)