Preliminary test automation

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

Guess you like

Origin www.cnblogs.com/huchaopeng/p/12177804.html