python version 3.x
http_request written request tool
1 import requests 2 class DemoHttpRequest: 3 4 def demo_http_request(self, method, url, data = None, cookie = None): 5 6 if method.lower() == 'get': 7 res = requests.get(url, data, verify=False) 8 elif method.lower == 'post': 9 res = requests.post(url, data, cookies = cookie,verify=False) 10 return res
test_httprequest (annotation to the evolution of the code)
Huang the key data for aggregated data ( https://www.juhe.cn/ )
. 1 # - * - Coding: UTF-. 8 - * - 2 # @time: 2019/12/31 6:14 . 3 # @file: test_http_request.py . 4 . 5 # method . 6 # Import the unittest . 7 # from python11.Demo1. Import DemoHttpRequest Http_Request . 8 # class TestHttpRequest (of unittest.TestCase): . 9 # DEF the setUp (Self): 10 # self.login_url = "http://v.juhe.cn/laohuangli/d" . 11 # self.login_data = { " DATE ":" 2020-01-07 "," Key ":" F "} 12 is # # recharge, recharge no interfaces, where only a representative example 13 # # self.recharge_url = "http://v.juhe.cn/laohuangli/d" 14 # # self.recharge_data = {"date":"2020-01-07","key":"f"} 15 # # self.cookies = DemoHttpRequest().demo_http_request('get', self.url, self.data).cookies 16 # def test_calendar(self): 17 # res = DemoHttpRequest().demo_http_request("get", self.login_url, self.login_data) 18 # try: 19 # self.assertEqual('successed',res.json()['reason']) 20 # except AssertionError as e: 21 # Print (. "error {}" the format (E)) 22 is # The raise E 23 is # # needs to pass cookies, example 24 # # DEF test_recharge (Self): 25 # # RES = DemoHttpRequest () demo_http_request ( "GET",. self.recharge_url, self.recharge_data, self.cookies) 26 is # # self.assertEqual ( 'successed', res.json () [ 'reason']) 27 # DEF the tearDown (Self): 28 # Pass 29 '' ' 30 # method II for global variables cookies method 31 is Import the unittest 32 from python11.Demo1.http_request Import DemoHttpRequest 33 34 COOKIE = None # 全局变量 35 class TestHttpRequest(unittest.TestCase): 36 def setUp(self): 37 self.login_url = "http://v.juhe.cn/laohuangli/d" 38 39 def test_calendar(self): 40 global COOKIE # 声明全局变量 41 login_data = {"date": "2020-01-07", "key": "f"} 42 res = DemoHttpRequest().demo_http_request("get", self.login_url, login_data) 43 if res.cookies: # 如果cookie存在 44 COOKIE = res.cookies 45 try: 46 self.assertEqual('successed',res.json()['reason']) 47 except AssertionError as e: 48 print("错误是{}".format(e)) 49 raise e 50 # 需要传cookies, 示例 51 # def test_recharge(self): 52 # global COOKIE 53 # res = DemoHttpRequest().demo_http_request("get", self.recharge_url, self.recharge_data, COOKIE ) 54 # self.assertEqual('successed', res.json()['reason']) 55 def tearDown(self): 56 pass 57 ''' 58 ''' 60# Method three 59 import unittest 61 from python11.Demo1.http_request import DemoHttpRequest 62 from python11.Demo1.get_data import GetData 63 64 class TestHttpRequest(unittest.TestCase): 65 def setUp(self): 66 self.login_url = "http://v.juhe.cn/laohuangli/d" 67 68 def test_calendar(self): 69 login_data = {"date": "2020-01-07", "key": "f"} 70 res = DemoHttpRequest().demo_http_request("get", self.login_url, login_data) 71 if res.cookies: # 如果cookie存在 72 setattr(GetData, 'Cookie', res.cookies) # 将res.cookies值赋值给cookie 73 try: 74 self.assertEqual('successed',res.json()['reason']) 75 except AssertionError as e: 76 print("错误是{}".format(e)) 77 raise e 78 # 需要传cookies, 示例 79 # def test_recharge(self): 80 # res = DemoHttpRequest().demo_http_request("get", self.recharge_url, self.recharge_data, getattr(GetData,"Cookie") ) # getattr(GetData,"Cookie")取值 81 # self.assertEqual('successed', res.json()['reason']) 82 def tearDown(self): 83 pass 84 ''' 85 ''' 86 # 参数化 87 import unittest 88 from python11.Demo1.http_request import DemoHttpRequest 89 from python11.Demo1.get_data import GetData 90 91 92 class TestHttpRequest(unittest.TestCase): 93 def setUp(self): 94 pass 95 # def __init__(self, url, data, method = 'get' , excepted = 'successed', methodName = 'test_api'): 96 # super(TestHttpRequest, self).__init__(methodName) # 继承并保留父类的方法 97 # self.url = url 98 # self.data = data 99 # self.method = method 100 # self.excepted = excepted 101 def test_api(self): 102 method = 'get' 103 url = 'http://v.juhe.cn/laohuangli/d' 104 data = {"date": "2020-01-07", "key": "f"} 105 # res = DemoHttpRequest().demo_http_request(self.method, self.url, self.data) 106 res = DemoHttpRequest().demo_http_request(method, url, data) 107 if res.cookies: # 如果cookie存在 108 setattr(GetData, 'Cookie', res.cookies) # 将res.cookies value assigned to the cookie the try: 109 110 print(res.json()['reason']) 111 # self.assertEqual(self.excepted, res.json()['reason']) 112 self.assertEqual('successed', res.json()['reason']) 113 114 except AssertionError as e: 115 print("错误是{}".format(e)) 116 raise e 117 # 需要传cookies, 示例 118 # def test_recharge(self): 119 # res = DemoHttpRequest().demo_http_request("get", self.recharge_url, self.recharge_data, getattr(GetData,"Cookie") ) # getattr(GetData,"Cookie")取值 120 # self.assertEqual('successed', res.json()['reason']) 121 def tearDown(self): 122 pass 123 ''' 124 ''' 125 # 参数化 126 import unittest 127 from python11.Demo1.http_request import DemoHttpRequest 128 from python11.Demo1.get_data import GetData 129 130 131 class TestHttpRequest(unittest.TestCase): 132 def __init__(self): 133 super().__init__() 134 self.url = 'http://v.juhe.cn/laohuangli/d' 135 self.data = {'date' : '2020-01-07', 'key': 'ff'} 136 self.method = 'get' 137 self.excepted = 'successed' 138 139 def test_api(self): 140 res = DemoHttpRequest().demo_http_request(self.method, self.url, self.data) 141 try: 142 print(res.json()['reason']) 143 self.assertEqual('successed', res.json()['reason']) 144 except AssertionError as e: 145 print("错误是{}".format(e)) 146 raise e 147 if __name__ == '__main__': 148 TestHttpRequest().test_api() 149 ''' Import151Parametric#150 unittest 152 from python11.Demo1.http_request import DemoHttpRequest 153 from python11.Demo1.get_data import GetData 154 155 class TestHttpRequest(unittest.TestCase): 156 def __init__(self, method, url, data, excepted, methodName): 157 super().__init__(methodName) 158 self.url = url 159 self.data = data 160 self.method = method 161 self.excepted = excepted 162 163 164 def test_api(self): 165 res = DemoHttpRequest().demo_http_request(self.method, self.url, self.data) 166 try: 167 print(res.json()['reason']) 168 self.assertEqual('successed', res.json()['reason']) 169 except AssertionError as e: 170 print("错误是{}".format(e)) 171 raise e
test_suite add components, test report generation
# - * - Coding: UTF-. 8 - * - # @time: 2019/12/31 6:14 # @file: test_suite.py '' ' Import the unittest Import HTMLTestReportCN from python11.Demo1 Import test_http_request # loaded with the Example, Example 1 # create a container Suite unittest.TestSuite = () # loaded with cases loader = unittest.TestLoader () suite.addTest (loader.loadTestsFromModule (test_http_request)) # implementation of use cases with open ( "test_summer.html", " wb") as file: runner = HTMLTestReportCN.HTMLTestRunner (stream = file, verbosity = 1, title = ' first write', description = 'too hard', = Tester 'AA') runner.run (Suite) '' ' import unittest import HTMLTestReportCN from python11.Demo1.test_http_request import TestHttpRequest # 列表中嵌套字典 test_data = [{'url' : "http://v.juhe.cn/laohuangli/d", 'data' : {"date": "2020-01-07", "key": "ff"}, 'excepted' : 'successed', 'method':'get', 'methodName' : 'test_api' }] # 创建容器 suite = unittest.TestSuite() # 加载用例 print(test_data[0]['method']) suite.addTest(TestHttpRequest( test_data[0]['method'], test_data[0]['url'], test_data[0]['data'], TEST_DATA [0] [ ' excepted ' ], TEST_DATA [0] [ ' methodName ' ] )) # execution cases with Open ( " test_summer.html " , " WB " ) AS File: Runner = HTMLTestReportCN.HTMLTestRunner (= File Stream, =. 1 the verbosity, title = ' first write ' , Description = ' too hard ' , = Tester ' Hu Chaopeng ' ) runner.run (Suite)
Report beautified download URL: https://github.com/findyou/HTMLTestRunnerCN