时间久了,都快忘记了,写着练练。
1 from Excel.excel_1 import HttpRequests
2 import unittest
3 COOKIE=None#全局变量用法
4 #全局变量先None值赋予全局变量COOKIE
5 class TestHttp(unittest.TestCase):
6 def setUp(self):
7 print('开始执行用例')
8
9 def tearDown(self):
10 print('用例执行结束')
11
12 def test_correct_login(self):#正常登陆
13 global COOKIE
14 url='http://api.nnzhp.cn/api/user/login'
15 data = {'username': 'niuhanyang', 'passwd': 'aA123456'}
16 res=HttpRequests().http_requests(url,data,'post')
17 if res.cookies:#如果返回的res有cookie
18 COOKIE=res.cookies#就赋值给COOKIE,COOKIE是全局变量
19 try:
20 self.assertEqual(0,res.json()['error_code'],'登录错误')#为什么带有self,不可以直接assertEqual吗
21 #因为self 是unittest 得内置assert 必须继承unittest 得实例测试类 才可以用
22 except AssertionError as e:
23 print('用例test_correct_login执行出现{}错误'.format(e))
24 raise e
25 #如果是错误用例就不会运行下一句了,如果没报错就会在通过的用例显示返回的响应正文
26 print('此条用例返回的响应正文是:', res.json())#可以再测试报告中显示返回的响应正文
27
28 def test_erroe_login(self):#错误登录
29 global COOKIE#声明是全局变量
30 url = 'http://api.nnzhp.cn/api/user/login'
31 data = {'username': 'niuhanyang', 'passwd': 'aA123456789'}
32 res = HttpRequests().http_requests(url, data, 'post')
33 try:
34 #json()['error_code']代表接口内res的json返回值中的error_code返回的值,然后和预期结果作对比
35 self.assertEqual(0,res.json()['error_code'],'登录错误')#预期结果,实际结果,报错信息
36 except AssertionError as e:
37 print('用例test_erroe_login执行出现{}错误'.format(e))
38 raise e
39 #如果是错误用例就不会运行下一句了,如果没报错就会在通过的用例显示返回的响应正文
40 print('此条用例返回的响应正文是:', res.json())#可以再测试报告中显示返回的响应正文
41
42 def test_correct_recharge(self):
43 global COOKIE#声明是全局变量
44 url='http://api.nnzhp.cn/api/user/gold_add'
45 data={'stu_id':'1432','gold':'10000'}
46 res=HttpRequests().http_requests(url,data,'post',COOKIE)#全局变量
47 try:
48 self.assertEqual(0,res.json()['error_code'],'充值失败')
49 except AssertionError as e:
50 print('用例test_correct_recharge执行出现{}错误'.format(e))
51 raise e
52 #如果是错误用例就不会运行下一句了,如果没报错就会在通过的用例显示返回的响应正文
53 print('此条用例返回的响应正文是:', res.json())#可以再测试报告中显示返回的响应正文
54
55 def test_error_recharge(self):
56 global COOKIE#声明是全局变量
57 url = 'http://api.nnzhp.cn/api/user/gold_add'
58 data = {'stu_id': '1432', 'gold': '-1'}
59 res=HttpRequests().http_requests(url,data,'post',COOKIE)
60 try:
61 self.assertEqual(0,res.json()['error_code'],'充值失败')#为什么带有self,不可以直接assertEqual吗
62 except AssertionError as e:
63 print('用例test_error_recharge执行出现{}错误'.format(e))
64 raise e
65 #如果是错误用例就不会运行下一句了,如果没报错就会在通过的用例显示返回的响应正文
66 print('此条用例返回的响应正文是:', res.json())#可以再测试报告中显示返回的响应正文