初始化
0 parents
Showing
114 changed files
with
4734 additions
and
0 deletions
.DS_Store
0 → 100644
No preview for this file type
.gitignore
0 → 100644
1 | # Created by .ignore support plugin (hsz.mobi) | ||
2 | ### Python template | ||
3 | # Byte-compiled / optimized / DLL files | ||
4 | __pycache__/ | ||
5 | *.py[cod] | ||
6 | *$py.class | ||
7 | |||
8 | # C extensions | ||
9 | *.so | ||
10 | |||
11 | # Distribution / packaging | ||
12 | .Python | ||
13 | build/ | ||
14 | develop-eggs/ | ||
15 | dist/ | ||
16 | downloads/ | ||
17 | eggs/ | ||
18 | .eggs/ | ||
19 | lib/ | ||
20 | lib64/ | ||
21 | parts/ | ||
22 | sdist/ | ||
23 | var/ | ||
24 | wheels/ | ||
25 | .idea | ||
26 | pip-wheel-metadata/ | ||
27 | share/python-wheels/ | ||
28 | *.egg-info/ | ||
29 | .installed.cfg | ||
30 | *.egg | ||
31 | MANIFEST | ||
32 | |||
33 | # PyInstaller | ||
34 | # Usually these files are written by a python script from a template | ||
35 | # before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
36 | *.manifest | ||
37 | *.spec | ||
38 | |||
39 | # Installer logs | ||
40 | pip-log.txt | ||
41 | pip-delete-this-directory.txt | ||
42 | |||
43 | # Unit test / coverage reports | ||
44 | htmlcov/ | ||
45 | .tox/ | ||
46 | .nox/ | ||
47 | .coverage | ||
48 | .coverage.* | ||
49 | .cache | ||
50 | nosetests.xml | ||
51 | coverage.xml | ||
52 | *.cover | ||
53 | .hypothesis/ | ||
54 | .pytest_cache/ | ||
55 | |||
56 | # Translations | ||
57 | *.mo | ||
58 | *.pot | ||
59 | |||
60 | # Django stuff: | ||
61 | *.log | ||
62 | local_settings.py | ||
63 | db.sqlite3 | ||
64 | |||
65 | # Flask stuff: | ||
66 | instance/ | ||
67 | .webassets-cache | ||
68 | |||
69 | # Scrapy stuff: | ||
70 | .scrapy | ||
71 | |||
72 | # Sphinx documentation | ||
73 | docs/_build/ | ||
74 | |||
75 | # PyBuilder | ||
76 | target/ | ||
77 | |||
78 | # Jupyter Notebook | ||
79 | .ipynb_checkpoints | ||
80 | |||
81 | # IPython | ||
82 | profile_default/ | ||
83 | ipython_config.py | ||
84 | |||
85 | # pyenv | ||
86 | .python-version | ||
87 | |||
88 | # pipenv | ||
89 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. | ||
90 | # However, in case of collaboration, if having platform-specific dependencies or dependencies | ||
91 | # having no cross-platform support, pipenv may install dependencies that don't work, or not | ||
92 | # install all needed dependencies. | ||
93 | #Pipfile.lock | ||
94 | |||
95 | # celery beat schedule file | ||
96 | celerybeat-schedule | ||
97 | |||
98 | # SageMath parsed files | ||
99 | *.sage.py | ||
100 | |||
101 | # Environments | ||
102 | .env | ||
103 | .venv | ||
104 | env/ | ||
105 | venv/ | ||
106 | ENV/ | ||
107 | env.bak/ | ||
108 | venv.bak/ | ||
109 | |||
110 | # Spyder project settings | ||
111 | .spyderproject | ||
112 | .spyproject | ||
113 | |||
114 | # Rope project settings | ||
115 | .ropeproject | ||
116 | |||
117 | # mkdocs documentation | ||
118 | /site | ||
119 | |||
120 | # mypy | ||
121 | .mypy_cache/ | ||
122 | .dmypy.json | ||
123 | dmypy.json | ||
124 | |||
125 | # Pyre type checker | ||
126 | .pyre/ | ||
127 |
README.txt
0 → 100644
1 | 1、设置运行环境,util/HandleJenkins.py | ||
2 | 2、设置项目数据库,util/HandleDB.py | ||
3 | 3、设置redis连接db,config/vendorList.py | ||
4 | 4、设置APP登陆方式(统一登录、无统一登陆),config/vendorList.py | ||
5 | 5、新增有统一登陆项目,需要在excel中添加该项目的可登录账号信息,A_api_case.xlsx里的app登录sheet | ||
6 | 6、新增保全项目,需要在excel里添加订单号(找保司要,订单不定期更新),A_api_case.xlsx里的查询保司订单sheet | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
all_run.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午4:58 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest | ||
7 | |||
8 | from unittestreport import TestRunner | ||
9 | from util.HandleJenkins import config | ||
10 | from util.swaggerApi import swaggerApi | ||
11 | from config.vendorPath import case_path | ||
12 | from util.getSuitCase import get_suit | ||
13 | |||
14 | |||
15 | # 执行的项目文件目录 | ||
16 | pro = config['pro'] | ||
17 | email_data = config['email'] | ||
18 | email = str(email_data).split(',') | ||
19 | if len(email) > 1: | ||
20 | email = list(email) | ||
21 | title = config['title'] | ||
22 | env = config['env'] | ||
23 | |||
24 | # 获取swagger返回的api信息并保存到swaggerApi.json | ||
25 | swaggerApi | ||
26 | |||
27 | # 执行文件地址 | ||
28 | suite_case = get_suit() | ||
29 | |||
30 | runner = TestRunner(suite_case, | ||
31 | filename="report.html", | ||
32 | report_dir='./report', | ||
33 | title=title, | ||
34 | tester='测试组', | ||
35 | desc='接口自动化测试报告', | ||
36 | templates=1, | ||
37 | pro=pro, | ||
38 | env=env | ||
39 | ) | ||
40 | runner.run() | ||
41 | runner.send_email(host="smtp.exmail.qq.com", | ||
42 | port=465, | ||
43 | user="fumengqi@situdata.com", | ||
44 | password="Fz315824", | ||
45 | to_addrs=email) |
case/AppAuthLogin.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config import vendorList | ||
9 | from util.log import logger | ||
10 | from util.generate import getTestCase | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_updata_global | ||
13 | from util.HandleJenkins import config | ||
14 | |||
15 | |||
16 | class AppAuthLogin(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''app登录''' | ||
20 | data_list = getTestCase('A_api_case.xlsx', 'app登录') | ||
21 | for j in range(len(data_list)): | ||
22 | if data_list[j]['vendor'] == config['pro']: # 处理统一登录和无统一登陆参数问题 | ||
23 | self.getTest(data_list[j]) | ||
24 | else: | ||
25 | logger.info('该case忽略') | ||
26 | |||
27 | def getTest(self, data): | ||
28 | tcname = data['tc_name'] | ||
29 | code = int(data['code']) | ||
30 | password = data['password'] | ||
31 | username = data['username'] | ||
32 | |||
33 | api_type = 'cl' | ||
34 | |||
35 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
36 | |||
37 | headers = { | ||
38 | 'Content-Type': 'application/json', | ||
39 | } | ||
40 | |||
41 | payload = { | ||
42 | "username": username, | ||
43 | "password": password, | ||
44 | "deviceNum": "078424F3-26DE-4A76-BC66-E4CD2C55BB0A" | ||
45 | } | ||
46 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
47 | |||
48 | url = vendor_host + api_type + file_readAPI(api_type, 'loginUsingPOST') | ||
49 | response = requests.request('POST', url, headers=headers, json=payload) | ||
50 | |||
51 | if response.status_code is 200: | ||
52 | res = response.json() | ||
53 | self.assertEqual(res['code'], code, msg=str(res)) | ||
54 | if res['code'] == 0: | ||
55 | file_updata_global('app_login', 'token', res['result']['token']) | ||
56 | file_updata_global('app_login', 'directlyAgencyName', res['result']['directlyAgencyName']) | ||
57 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
58 | else: | ||
59 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
60 | else: | ||
61 | logger.error(response.text) | ||
62 | |||
63 | |||
64 | if __name__ == '__main__': | ||
65 | unittest.main() |
case/AppAuthSts.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI, file_read_global | ||
12 | |||
13 | |||
14 | class AppAuthSts(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''获取鉴权''' | ||
18 | data_list = getTestCase('A_api_case.xlsx', '获取鉴权') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | videoUrlNums = data['videoUrlNums'] | ||
26 | |||
27 | api_type = 'cl' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
34 | } | ||
35 | payload = { | ||
36 | "videoUrlNums": videoUrlNums | ||
37 | } | ||
38 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
39 | |||
40 | url = vendor_host + api_type + file_readAPI(api_type, 'ossStsUsingPOST') | ||
41 | response = requests.request('POST', url, headers=headers, json=payload) | ||
42 | if response.status_code is 200: | ||
43 | res = response.json() | ||
44 | self.assertEqual(res['code'], code, msg=str(res)) | ||
45 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
46 | else: | ||
47 | logger.info(response.text) |
case/AppFileList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI, file_read_global | ||
12 | |||
13 | |||
14 | class AppFileList(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''A端文件列表''' | ||
18 | data_list = getTestCase('A_api_case.xlsx', '文件列表') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | |||
26 | api_type = 'cl' | ||
27 | |||
28 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
29 | |||
30 | headers = { | ||
31 | 'Content-Type': 'application/json', | ||
32 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
33 | } | ||
34 | payload = { | ||
35 | "orderRecordId": file_read_global('order', 'orderRecordId') | ||
36 | } | ||
37 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
38 | |||
39 | url = vendor_host + api_type + file_readAPI(api_type, 'agentFileListUsingPOST') | ||
40 | response = requests.request('POST', url, headers=headers, json=payload) | ||
41 | if response.status_code is 200: | ||
42 | res = response.json() | ||
43 | self.assertEqual(res['code'], code, msg=str(res)) | ||
44 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
45 | else: | ||
46 | logger.info(response.text) |
case/AppHomeList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/12 下午5:35 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | # !/usr/bin/env python | ||
7 | # -*- coding: utf-8 -*- | ||
8 | # @Time : 2021/7/16 下午5:36 | ||
9 | # @Author : 付孟奇 | ||
10 | |||
11 | import unittest, requests | ||
12 | from util.generate import getTestCase | ||
13 | from util.log import logger | ||
14 | from util.HandleJson import file_read_global | ||
15 | from config.vendorHost import vendor_host | ||
16 | from config.vendorPath import global_path | ||
17 | from util.HandleJson import file_readAPI | ||
18 | |||
19 | |||
20 | class AppHomeList(unittest.TestCase): | ||
21 | |||
22 | def testFunc(self): | ||
23 | '''app首页展示''' | ||
24 | data_list = getTestCase('A_api_case.xlsx', 'app首页展示') | ||
25 | for i in range(len(data_list)): | ||
26 | self.getTest(data_list[i]) | ||
27 | |||
28 | def getTest(self, data): | ||
29 | tcname = data['tc_name'] | ||
30 | code = int(data['code']) | ||
31 | |||
32 | api_type = 'cl' | ||
33 | |||
34 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
35 | |||
36 | headers = { | ||
37 | 'Content-Type': 'application/json', | ||
38 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
39 | } | ||
40 | payload = { | ||
41 | "wait2UploadOrderList": [ | ||
42 | 0 | ||
43 | ] | ||
44 | } | ||
45 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
46 | |||
47 | url = vendor_host + api_type + file_readAPI(api_type, 'listCountUsingPOST') | ||
48 | response = requests.request('POST', url, headers=headers, json=payload) | ||
49 | if response.status_code is 200: | ||
50 | res = response.json() | ||
51 | self.assertEqual(res['code'], code, msg=str(res)) | ||
52 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
53 | else: | ||
54 | logger.info(response.text) |
case/AppListCount.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/12 下午5:35 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | # !/usr/bin/env python | ||
7 | # -*- coding: utf-8 -*- | ||
8 | # @Time : 2021/7/16 下午5:36 | ||
9 | # @Author : 付孟奇 | ||
10 | |||
11 | import unittest, requests | ||
12 | from util.generate import getTestCase | ||
13 | from util.log import logger | ||
14 | from util.HandleJson import file_read_global | ||
15 | from config.vendorHost import vendor_host | ||
16 | from config.vendorPath import global_path | ||
17 | from util.HandleJson import file_readAPI | ||
18 | |||
19 | |||
20 | class AppListCount(unittest.TestCase): | ||
21 | |||
22 | def testFunc(self): | ||
23 | '''app订单列表''' | ||
24 | data_list = getTestCase('A_api_case.xlsx', 'app订单列表') | ||
25 | for i in range(len(data_list)): | ||
26 | self.getTest(data_list[i]) | ||
27 | |||
28 | def getTest(self, data): | ||
29 | tcname = data['tc_name'] | ||
30 | code = int(data['code']) | ||
31 | listType = data['listType'] | ||
32 | |||
33 | api_type = 'cl' | ||
34 | |||
35 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
36 | |||
37 | headers = { | ||
38 | 'Content-Type': 'application/json', | ||
39 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
40 | } | ||
41 | payload = { | ||
42 | "wait2UploadOrderList": [ | ||
43 | |||
44 | ], | ||
45 | "listType": listType, | ||
46 | "name": "", | ||
47 | "perPage": "10", | ||
48 | "page": "1" | ||
49 | } | ||
50 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
51 | |||
52 | url = vendor_host + api_type + file_readAPI(api_type, 'listUsingPOST') | ||
53 | response = requests.request('POST', url, headers=headers, json=payload) | ||
54 | if response.status_code is 200: | ||
55 | res = response.json() | ||
56 | self.assertEqual(res['code'], code, msg=str(res)) | ||
57 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
58 | else: | ||
59 | logger.info(response.text) | ||
60 | |||
61 | |||
62 | if __name__ == '__main__': | ||
63 | unittest.main() |
case/AppOrderAdd.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/12 下午5:35 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import add_order_type_1_path | ||
9 | from config import vendorList | ||
10 | from util.generate import getTestCase | ||
11 | from util.log import logger | ||
12 | from util.HandleJson import file_read_global, file_read, file_readAPI, file_updata_global | ||
13 | from util.HandleTime import handle_time | ||
14 | from util.HandleJenkins import config | ||
15 | |||
16 | |||
17 | class AppOrderAdd(unittest.TestCase): | ||
18 | def testFunc(self): | ||
19 | '''创建纸质新契约订单''' | ||
20 | data_list = getTestCase('A_api_case.xlsx', '创建订单') | ||
21 | for i in range(len(data_list)): | ||
22 | if config['pro'] in vendorList.add_order_type_2: | ||
23 | self.getTest(data_list[i]) | ||
24 | else: | ||
25 | logger.info('掠过此条case') | ||
26 | |||
27 | def getTest(self, data): | ||
28 | tcname = data['tc_name'] | ||
29 | code = int(data['code']) | ||
30 | |||
31 | api_type = 'cl' | ||
32 | |||
33 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
34 | |||
35 | headers = { | ||
36 | 'Content-Type': 'application/json', | ||
37 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
38 | } | ||
39 | |||
40 | payload = file_read(add_order_type_1_path) | ||
41 | payload['订单基本信息']['销售渠道'] = file_read_global('channel', 'channel_name') | ||
42 | payload['订单基本信息']['双录创建日期'] = handle_time.timeTimeYMD() | ||
43 | payload['订单基本信息']['机构名称'] = file_read_global('app_login', 'directlyAgencyName') | ||
44 | payload['订单基本信息']['投保单号'] = 'api' + handle_time.timeStamp_10() | ||
45 | payload['主险信息'][0]['产品类型'] = file_read_global('product', 'productTypeName') | ||
46 | payload['主险信息'][0]['产品名称'] = file_read_global('product', 'product_name') | ||
47 | payload['主险信息'][0]['产品代码'] = file_read_global('product', 'product_code') | ||
48 | payload['附加险信息'][0]['产品类型'] = file_read_global('product', 'productTypeName') | ||
49 | payload['附加险信息'][0]['产品名称'] = file_read_global('product', 'product_name_att') | ||
50 | payload['附加险信息'][0]['产品代码'] = file_read_global('product', 'product_code_att') | ||
51 | |||
52 | |||
53 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
54 | |||
55 | url = vendor_host + api_type + file_readAPI(api_type, 'handAddOrderUsingPOST') | ||
56 | response = requests.request('POST', url, headers=headers, json=payload) | ||
57 | if response.status_code is 200: | ||
58 | res = response.json() | ||
59 | self.assertEqual(res['code'], code, msg=str(res)) | ||
60 | if res['code'] == 0: | ||
61 | file_updata_global('order', 'orderRecordId', res['result']['orderRecordId']) | ||
62 | file_updata_global('order', 'orderId', res['result']['orderId']) | ||
63 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
64 | else: | ||
65 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
66 | else: | ||
67 | logger.info(response.text) |
case/AppOrderAddQuota.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/12 下午5:35 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import add_order_type_2_path | ||
9 | from config import vendorList | ||
10 | from util.generate import getTestCase | ||
11 | from util.log import logger | ||
12 | from util.HandleJson import file_read_global, file_read, file_readAPI, file_updata_global | ||
13 | from util.HandleTime import handle_time | ||
14 | from util.HandleJenkins import config | ||
15 | |||
16 | |||
17 | class AppOrderAddQuota(unittest.TestCase): | ||
18 | def testFunc(self): | ||
19 | '''创建纸质保全订单''' | ||
20 | data_list = getTestCase('A_api_case.xlsx', '创建订单') | ||
21 | for i in range(len(data_list)): | ||
22 | if config['pro'] in vendorList.add_order_type_2: | ||
23 | self.getTest(data_list[i]) | ||
24 | else: | ||
25 | logger.info('掠过此条case') | ||
26 | |||
27 | def getTest(self, data): | ||
28 | tcname = data['tc_name'] | ||
29 | code = int(data['code']) | ||
30 | |||
31 | api_type = 'cl' | ||
32 | |||
33 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
34 | |||
35 | headers = { | ||
36 | 'Content-Type': 'application/json', | ||
37 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
38 | } | ||
39 | |||
40 | payload = file_read(add_order_type_2_path) | ||
41 | pay_list = [] | ||
42 | pa_dic = {} | ||
43 | payload['订单基本信息']['保全项'] = '新增附加险' | ||
44 | payload['订单基本信息']['保全日期'] = handle_time.timeTimeYMD() | ||
45 | payload['新增附加险'] = pay_list | ||
46 | pa_dic['每期缴费金额'] = '5' | ||
47 | pa_dic['被保人'] = payload['保险信息'][0]['被保人'] | ||
48 | pa_dic['产品种类'] = '附加险' | ||
49 | pa_dic['缴费期限'] = '1年' | ||
50 | pa_dic['产品类型'] = file_read_global('product', 'productTypeName') | ||
51 | pa_dic['缴费方式'] = '趸缴' | ||
52 | pa_dic['产品代码'] = file_read_global('product', 'product_code') | ||
53 | pa_dic['保险期限'] = '1年' | ||
54 | pa_dic['监护人名称'] = 'apitest' | ||
55 | pa_dic['附加险名称'] = file_read_global('product', 'product_name_att') | ||
56 | pay_list.append(pa_dic) | ||
57 | |||
58 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
59 | |||
60 | url = vendor_host + api_type + file_readAPI(api_type, 'addQuotaUsingPOST') | ||
61 | response = requests.request('POST', url, headers=headers, json=payload) | ||
62 | if response.status_code is 200: | ||
63 | res = response.json() | ||
64 | self.assertEqual(res['code'], code, msg=str(res)) | ||
65 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
66 | if res['code'] == 0: | ||
67 | file_updata_global('order', 'policyId', res['result']['orderRecordId']) | ||
68 | file_updata_global('order', 'policyNo', res['result']['policyNo']) | ||
69 | file_updata_global('order', 'selfNo', res['result']['selfNo']) | ||
70 | else: | ||
71 | logger.info(response.text) |
case/AppOrderDetail.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI, file_read_global | ||
12 | |||
13 | |||
14 | class AppOrderDetail(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''订单详情接口''' | ||
18 | data_list = getTestCase('A_api_case.xlsx', '订单详情') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | |||
26 | api_type = 'cl' | ||
27 | |||
28 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
29 | |||
30 | headers = { | ||
31 | 'Content-Type': 'application/json', | ||
32 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
33 | } | ||
34 | payload = { | ||
35 | "orderRecordId": file_read_global('order', 'orderRecordId') | ||
36 | } | ||
37 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
38 | |||
39 | url = vendor_host + api_type + file_readAPI(api_type, 'detailUsingPOST') | ||
40 | response = requests.request('POST', url, headers=headers, json=payload) | ||
41 | if response.status_code is 200: | ||
42 | res = response.json() | ||
43 | self.assertEqual(res['code'], code, msg=str(res)) | ||
44 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
45 | else: | ||
46 | logger.info(response.text) |
case/AppOrderFace.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path, order_idCard_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI, file_read_global, file_base_64 | ||
12 | |||
13 | |||
14 | class AppOrderFace(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''人脸比对''' | ||
18 | data_list = getTestCase('A_api_case.xlsx', '人脸比对') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | |||
26 | api_type = 'cl' | ||
27 | |||
28 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
29 | |||
30 | headers = { | ||
31 | 'Content-Type': 'application/json', | ||
32 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
33 | } | ||
34 | payload = { | ||
35 | "faceImageBase64": file_base_64(order_idCard_path), | ||
36 | "idCardImageBase64": file_base_64(order_idCard_path), | ||
37 | "orderRecordId": file_read_global('order', 'orderRecordId') | ||
38 | } | ||
39 | # logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'facePairUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | if response.status_code is 200: | ||
44 | res = response.json() | ||
45 | self.assertEqual(res['code'], code, msg=str(res)) | ||
46 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
47 | else: | ||
48 | logger.info(response.text) |
case/AppOrderQuotaDetail.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/12 下午5:35 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from util import HandleJson | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from config.vendorHost import vendor_host | ||
11 | from config.vendorPath import add_order_type_2_path | ||
12 | |||
13 | |||
14 | class AppOrderQuotaDetail(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''查询订单在保司是否存在''' | ||
18 | data_list = getTestCase('A_api_case.xlsx', '查询保司订单') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | identifier = data['identifier'] | ||
26 | |||
27 | api_type = 'cl' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': HandleJson.file_read_global('app_login', 'token') | ||
34 | } | ||
35 | payload = { | ||
36 | "businessType": 1, | ||
37 | "identifier": identifier | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + HandleJson.file_readAPI(api_type, 'quotaDetailUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | if response.status_code is 200: | ||
44 | res = response.json() | ||
45 | self.assertEqual(res['code'], code, msg=str(res)) | ||
46 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
47 | HandleJson.file_write(add_order_type_2_path, res['result']) | ||
48 | HandleJson.file_updata_global('order', 'policy_no', identifier) | ||
49 | else: | ||
50 | logger.info(response.text) | ||
51 | |||
52 | |||
53 | if __name__ == '__main__': | ||
54 | unittest.main() |
case/AppOrderSubmit.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/12 下午5:35 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import order_mp4_path, order_zip_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_read_global, file_readAPI | ||
12 | import warnings | ||
13 | |||
14 | |||
15 | class AppOrderSubmit(unittest.TestCase): | ||
16 | def testFunc(self): | ||
17 | '''订单视频提交''' | ||
18 | warnings.simplefilter('ignore', ResourceWarning) | ||
19 | data_list = getTestCase('A_api_case.xlsx', '视频上传') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'X-Auth-Token': file_read_global('app_login', 'token'), | ||
33 | } | ||
34 | |||
35 | # multipart_encoder = MultipartEncoder( | ||
36 | # fields={ | ||
37 | # "videoUrl": "public-staging-bucket/metlife/video/20210818/12a3cbc1f9d44f269bb9421bb2076a3e.mp4", | ||
38 | # "jsonData": ("json.txt", open(order_mp4_path, 'rb'), "video/mp4"), | ||
39 | # 'imageData': ("images.zip", open(order_zip_path, 'rb'), "application/zip") | ||
40 | # }, | ||
41 | # # 自定义分隔符 | ||
42 | # boundary='wfWiEWrgEFA9A78512weF7106A' | ||
43 | # ) | ||
44 | # | ||
45 | # # 后给Content-Type加入属性 | ||
46 | # headers['Content-Type'] = multipart_encoder.content_type | ||
47 | |||
48 | payload = {'videoUrl': 'public-staging-bucket/metlife/video/20210818/12a3cbc1f9d44f269bb9421bb2076a3e.mp4'} | ||
49 | files = [ | ||
50 | ('jsonData', ('json.txt', | ||
51 | open(order_mp4_path, 'rb'), "video/mp4")), | ||
52 | ('imageData', ('images.zip', | ||
53 | open(order_zip_path, 'rb'), "application/zip")), | ||
54 | ] | ||
55 | |||
56 | url = vendor_host + api_type + file_readAPI(api_type, 'orderSubmitUsingPOST') | ||
57 | # url = r'http://192.168.10.190:9000/re' + file_readAPI(api_type, 'orderSubmitUsingPOST') | ||
58 | # response = requests.post(url=url, data=multipart_encoder, headers=headers) | ||
59 | response = requests.post(url, headers=headers, data=payload, files=files) | ||
60 | if response.status_code is 200: | ||
61 | res = response.json() | ||
62 | self.assertEqual(res['code'], code, msg=str(res)) | ||
63 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
64 | else: | ||
65 | logger.info(response.text) |
case/AppPhaseV3.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI, file_read_global | ||
12 | from util.HandleTime import handle_time | ||
13 | |||
14 | |||
15 | class AppPhaseV3(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''话术3.0获取话术内容''' | ||
19 | data_list = getTestCase('A_api_case.xlsx', '获取话术内容') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 'cl' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
34 | } | ||
35 | payload = { | ||
36 | "orderRecordId": file_read_global('order', 'orderRecordId'), | ||
37 | "recordingBeginTime": handle_time.timeStamp_13() | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'phaseContentV3UsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | if response.status_code is 200: | ||
44 | res = response.json() | ||
45 | self.assertEqual(res['code'], code, msg=str(res)) | ||
46 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
47 | else: | ||
48 | logger.info(response.text) |
case/AppProductList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/12 下午5:35 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | # !/usr/bin/env python | ||
7 | # -*- coding: utf-8 -*- | ||
8 | # @Time : 2021/7/16 下午5:36 | ||
9 | # @Author : 付孟奇 | ||
10 | |||
11 | import unittest, requests | ||
12 | from util.generate import getTestCase | ||
13 | from util.log import logger | ||
14 | from util.HandleJson import file_read_global | ||
15 | from util.HandleJson import file_readAPI | ||
16 | from config.vendorHost import vendor_host | ||
17 | from config.vendorPath import global_path | ||
18 | |||
19 | |||
20 | class AppProductList(unittest.TestCase): | ||
21 | |||
22 | def testFunc(self): | ||
23 | '''产品信息''' | ||
24 | data_list = getTestCase('A_api_case.xlsx', '产品信息') | ||
25 | for i in range(len(data_list)): | ||
26 | self.getTest(data_list[i]) | ||
27 | |||
28 | def getTest(self, data): | ||
29 | tcname = data['tc_name'] | ||
30 | code = int(data['code']) | ||
31 | riskType = int(data['riskType']) | ||
32 | |||
33 | api_type = 'cl' | ||
34 | |||
35 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
36 | |||
37 | headers = { | ||
38 | 'Content-Type': 'application/json', | ||
39 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
40 | } | ||
41 | payload = { | ||
42 | "productType": "0", | ||
43 | "page": 1, | ||
44 | "perpage": 15, | ||
45 | "insureType": 2, | ||
46 | "riskType": riskType | ||
47 | } | ||
48 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
49 | |||
50 | url = vendor_host + api_type + file_readAPI(api_type, 'productNameSelectV2UsingPOST') | ||
51 | response = requests.request('POST', url, headers=headers, json=payload) | ||
52 | |||
53 | if response.status_code is 200: | ||
54 | res = response.json() | ||
55 | self.assertEqual(res['code'], code, msg=str(res)) | ||
56 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
57 | else: | ||
58 | logger.info(response.text) | ||
59 | |||
60 | |||
61 | if __name__ == '__main__': | ||
62 | unittest.main() |
case/AppQualityAuditRejectedDetail.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI, file_read_global | ||
12 | |||
13 | |||
14 | class AppQualityAuditRejectedDetail(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''app的拒绝详情''' | ||
18 | data_list = getTestCase('A_api_case.xlsx', 'app的拒绝详情') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | |||
26 | api_type = 'cl' | ||
27 | |||
28 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
29 | |||
30 | headers = { | ||
31 | 'Content-Type': 'application/json', | ||
32 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
33 | } | ||
34 | payload = { | ||
35 | "orderRecordId": file_read_global('order', 'orderRecordId') | ||
36 | } | ||
37 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
38 | |||
39 | url = vendor_host + api_type + file_readAPI(api_type, 'rejectedDetailUsingPOST') | ||
40 | response = requests.request('POST', url, headers=headers, json=payload) | ||
41 | if response.status_code is 200: | ||
42 | res = response.json() | ||
43 | self.assertEqual(res['code'], code, msg=str(res)) | ||
44 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
45 | else: | ||
46 | logger.info(response.text) |
case/AppTtsV3.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI, file_read_global | ||
12 | from util.HandleTime import handle_time | ||
13 | |||
14 | |||
15 | class AppTtsV3(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''话术3.0获取话术音频''' | ||
19 | data_list = getTestCase('A_api_case.xlsx', '获取话术音频') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | rate = data['rate'] | ||
27 | |||
28 | api_type = 'cl' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('app_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "orderRecordId": file_read_global('order', 'orderRecordId'), | ||
38 | "recordingBeginTime": handle_time.timeStamp_13(), | ||
39 | "rate": rate | ||
40 | } | ||
41 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
42 | |||
43 | url = vendor_host + api_type + file_readAPI(api_type, 'synthesizerZipV3UsingPOST') | ||
44 | response = requests.request('POST', url, headers=headers, json=payload) | ||
45 | self.assertEqual(response.status_code, code, msg='接口调用失败!') |
case/AppVersionUpdate.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from util.generate import getTestCase | ||
8 | from util.log import logger | ||
9 | from config.vendorHost import vendor_host | ||
10 | from util.HandleJson import file_readAPI | ||
11 | |||
12 | |||
13 | class AppVersionUpdate(unittest.TestCase): | ||
14 | |||
15 | def testFunc(self): | ||
16 | '''A端版本更新''' | ||
17 | data_list = getTestCase('A_api_case.xlsx', 'A端版本更新') | ||
18 | for i in range(len(data_list)): | ||
19 | self.getTest(data_list[i]) | ||
20 | |||
21 | def getTest(self, data): | ||
22 | tcname = data['tc_name'] | ||
23 | code = int(data['code']) | ||
24 | |||
25 | api_type = 'cl' | ||
26 | |||
27 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
28 | |||
29 | headers = { | ||
30 | 'Content-Type': 'application/json' | ||
31 | } | ||
32 | payload = { | ||
33 | "deviceType": "ANDROID", | ||
34 | "deviceId": "c4fc83d1-fba3-3593-ba84-a26ee9bcc818" | ||
35 | } | ||
36 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
37 | url = vendor_host + api_type + file_readAPI(api_type, 'appUpdateUsingPOST') | ||
38 | print(url) | ||
39 | response = requests.request('POST', url, headers=headers, json=payload) | ||
40 | if response.status_code is 200: | ||
41 | res = response.json() | ||
42 | self.assertEqual(res['code'], code, msg=str(res)) | ||
43 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
44 | else: | ||
45 | logger.info(response.text) |
case/SystemResetPassword.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config import vendorList | ||
9 | from util.log import logger | ||
10 | from util.generate import getTestCase | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global | ||
13 | from util.HandleJenkins import config | ||
14 | from util.HandleRedis import handle_redis | ||
15 | |||
16 | |||
17 | class SystemResetPassword(unittest.TestCase): | ||
18 | |||
19 | def testFunc(self): | ||
20 | '''重置密码''' | ||
21 | data_list = getTestCase('A_api_case.xlsx', '重置密码') | ||
22 | for i in range(len(data_list)): | ||
23 | self.getTest(data_list[i]) | ||
24 | |||
25 | def getTest(self, data): | ||
26 | tcname = data['tc_name'] | ||
27 | code = int(data['code']) | ||
28 | password = data['password'] | ||
29 | username = data['username'] | ||
30 | validateCode = handle_redis.get_value('loginservice_forget_password_string_'+config['phone']) | ||
31 | |||
32 | api_type = 'cl' | ||
33 | |||
34 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
35 | |||
36 | headers = { | ||
37 | 'Content-Type': 'application/json', | ||
38 | } | ||
39 | if config['pro'] in vendorList.app_login_type_3: | ||
40 | payload = { | ||
41 | "username": file_read_global('account', 'app_user'), | ||
42 | "password": password, | ||
43 | "validateCode": validateCode, | ||
44 | "phoneNum": config['phone'], | ||
45 | "deviceNum": "078424F3-26DE-4A76-BC66-E4CD2C55BB0A" | ||
46 | } | ||
47 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
48 | |||
49 | url = vendor_host + api_type + file_readAPI(api_type, 'forgPasswordUsingPOST') | ||
50 | response = requests.request('POST', url, headers=headers, json=payload) | ||
51 | |||
52 | if response.status_code is 200: | ||
53 | res = response.json() | ||
54 | self.assertEqual(res['code'], code, msg=str(res)) | ||
55 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
56 | else: | ||
57 | logger.error(response.text) | ||
58 | |||
59 | |||
60 | if __name__ == '__main__': | ||
61 | unittest.main() |
case/SystemSendSms.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:36 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config import vendorList | ||
9 | from util.log import logger | ||
10 | from util.generate import getTestCase | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_updata_global | ||
13 | from util.HandleJenkins import config | ||
14 | |||
15 | |||
16 | class SystemSendSms(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''发送短信''' | ||
20 | data_list = getTestCase('A_api_case.xlsx', '发送短信') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | code = int(data['code']) | ||
27 | |||
28 | api_type = 'cl' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | } | ||
35 | payload = { | ||
36 | "phoneNum": config['phone'], | ||
37 | "type": 2 | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'sendSmsUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | res = response.json() | ||
46 | self.assertEqual(res['code'], code, msg=str(res)) | ||
47 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
48 | else: | ||
49 | logger.error(response.text) | ||
50 | |||
51 | |||
52 | if __name__ == '__main__': | ||
53 | unittest.main() |
case/WebAccountAddAPPUser.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.firstLogin import FirstLogin | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | from util.HandleJenkins import config | ||
14 | |||
15 | |||
16 | class WebAccountAddAPPUser(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''增加app账号''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', '增加app账号') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | code = int(data['code']) | ||
27 | |||
28 | name = data['name'] | ||
29 | username = data['username'] | ||
30 | phoneNum = int(config['phone']) | ||
31 | branchId = file_read_global('organization', 'branchId') | ||
32 | subBranchId = file_read_global('organization', 'subBranchId') | ||
33 | channel = file_read_global('channel', 'channel_name') | ||
34 | |||
35 | api_type = 'sys' | ||
36 | |||
37 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
38 | |||
39 | headers = { | ||
40 | 'Content-Type': 'application/json', | ||
41 | 'X-Auth-Token': FirstLogin() | ||
42 | } | ||
43 | # if config['pro'] =='中美大都会' | ||
44 | # 之后如果角色可以从接口获取,这里再从接口获取并进行项目判断 | ||
45 | payload = { | ||
46 | "name": name, | ||
47 | "username": username, | ||
48 | "phoneNum": phoneNum, | ||
49 | "branchId": branchId, | ||
50 | "subBranchId": subBranchId, | ||
51 | "channelCode": channel, | ||
52 | "marketingChannel": channel | ||
53 | } | ||
54 | |||
55 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
56 | |||
57 | url = vendor_host + api_type + file_readAPI(api_type, 'addAppUserUsingPOST') | ||
58 | response = requests.request('POST', url, headers=headers, json=payload) | ||
59 | |||
60 | if response.status_code is 200: | ||
61 | res = response.json() | ||
62 | self.assertEqual(res['code'], code, msg=str(res)) | ||
63 | file_updata_global('account', 'app_user', username) | ||
64 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
65 | else: | ||
66 | logger.info(response.text) |
case/WebAccountAddWebUser.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.firstLogin import FirstLogin | ||
12 | from util.HandleJson import file_readAPI | ||
13 | from util.HandleJson import file_read_global, file_updata_global | ||
14 | |||
15 | |||
16 | class WebAccountAddWebUser(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''添加web账号''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', '添加web账号') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | code = int(data['code']) | ||
27 | username = data['username'] | ||
28 | email = data['email'] | ||
29 | employeeId = data['employeeId'] | ||
30 | name = data['name'] | ||
31 | staffNo = data['staffNo'] | ||
32 | role = data['role'] | ||
33 | |||
34 | api_type = 'sys' | ||
35 | |||
36 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
37 | |||
38 | headers = { | ||
39 | 'Content-Type': 'application/json', | ||
40 | 'X-Auth-Token': FirstLogin() | ||
41 | } | ||
42 | # if config['pro'] =='中美大都会' | ||
43 | # 之后如果角色可以从接口获取,这里再从接口获取并进行项目判断 | ||
44 | payload = { | ||
45 | "id": '', | ||
46 | "username": username, | ||
47 | "email": email, | ||
48 | "employeeId": employeeId, | ||
49 | "name": name, | ||
50 | "roleId": role, | ||
51 | "orgId": file_read_global('organization', 'subBranchId'), | ||
52 | "orgIdList": [int(role)], | ||
53 | "groupId": '', | ||
54 | "auditScopeList": [], | ||
55 | "staffNo": staffNo, | ||
56 | "role": role | ||
57 | } | ||
58 | |||
59 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
60 | |||
61 | url = vendor_host + api_type + file_readAPI(api_type, 'addUserUsingPOST') | ||
62 | response = requests.request('POST', url, headers=headers, json=payload) | ||
63 | |||
64 | if response.status_code is 200: | ||
65 | res = response.json() | ||
66 | self.assertEqual(res['code'], code, msg=str(res)) | ||
67 | file_updata_global('account', 'web_user', name) | ||
68 | file_updata_global('account', 'web_email', email) | ||
69 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
70 | else: | ||
71 | logger.info(response.text) |
case/WebAccountAppManage.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI, file_read_global | ||
12 | |||
13 | |||
14 | class WebAccountAppManage(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''app账户信息查询''' | ||
18 | data_list = getTestCase('WEB_api_case.xlsx', 'app账户信息查询') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | userType = data['userType'] | ||
26 | name = file_read_global('account', 'app_user') | ||
27 | |||
28 | api_type = 'sys' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "page": 1, | ||
38 | "perPage": 10, | ||
39 | "userType": userType, | ||
40 | "name":name | ||
41 | } | ||
42 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
43 | |||
44 | url = vendor_host + api_type + file_readAPI(api_type, 'appManageUsingPOST') | ||
45 | response = requests.request('POST', url, headers=headers, json=payload) | ||
46 | |||
47 | if response.status_code is 200: | ||
48 | res = response.json() | ||
49 | self.assertEqual(res['code'], code, msg=str(res)) | ||
50 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
51 | else: | ||
52 | logger.info(response.text) |
case/WebAccountGetUserInfo.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests,time | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI, file_read_global, file_updata_global | ||
11 | |||
12 | |||
13 | class WebAccountGetUserInfo(unittest.TestCase): | ||
14 | |||
15 | def testFunc(self): | ||
16 | '''根据用户名获取用户信息''' | ||
17 | data_list = getTestCase('WEB_api_case.xlsx', '获取用户信息') | ||
18 | for i in range(len(data_list)): | ||
19 | self.getTest(data_list[i]) | ||
20 | time.sleep(2) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | |||
26 | api_type = 'sys' | ||
27 | |||
28 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
29 | |||
30 | headers = { | ||
31 | 'Content-Type': 'application/json', | ||
32 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
33 | } | ||
34 | payload = { | ||
35 | "username": file_read_global('account', 'web_user') | ||
36 | } | ||
37 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
38 | |||
39 | url = vendor_host + api_type + file_readAPI(api_type, 'getUserInfoUsingPOST') | ||
40 | response = requests.request('POST', url, headers=headers, json=payload) | ||
41 | |||
42 | if response.status_code is 200: | ||
43 | res = response.json() | ||
44 | self.assertEqual(res['code'], code, msg=str(res)) | ||
45 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
46 | else: | ||
47 | logger.info(response.text) |
case/WebAccountImportAppUser.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/12 下午5:35 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import excel_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_read_global, file_readAPI | ||
12 | import warnings | ||
13 | |||
14 | |||
15 | class WebAccountImportAppUser(unittest.TestCase): | ||
16 | def testFunc(self): | ||
17 | '''导入app账号''' | ||
18 | warnings.simplefilter('ignore', ResourceWarning) | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '导入app账号') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 'sys' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
33 | } | ||
34 | |||
35 | files = [ | ||
36 | ('file', ('A_api_case.xlsx', | ||
37 | open(excel_path + '/A_api_case.xlsx', 'rb'), | ||
38 | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) | ||
39 | ] | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'importAppUserUsingPOST') | ||
42 | response = requests.post(url, headers=headers, files=files) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | logger.info('接口可以调通!') | ||
46 | else: | ||
47 | logger.error('接口异常') |
case/WebAccountManage.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI, file_read_global,file_updata_global | ||
11 | from util.HandleSql import db_sql | ||
12 | |||
13 | |||
14 | class WebAccountManage(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''web账户信息查询''' | ||
18 | data_list = getTestCase('WEB_api_case.xlsx', 'web账户信息查询') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | userType = data['userType'] | ||
26 | name = file_read_global('account', 'web_user') | ||
27 | |||
28 | api_type = 'sys' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "name": name, | ||
38 | "page": 1, | ||
39 | "perPage": 10, | ||
40 | "userType": userType | ||
41 | } | ||
42 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
43 | |||
44 | url = vendor_host + api_type + file_readAPI(api_type, 'webManageUsingPOST') | ||
45 | response = requests.request('POST', url, headers=headers, json=payload) | ||
46 | |||
47 | if response.status_code is 200: | ||
48 | res = response.json() | ||
49 | self.assertEqual(res['code'], code, msg=str(res)) | ||
50 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
51 | if res['code'] == 0: | ||
52 | file_updata_global('account', 'web_user_id', db_sql.select_user_id(name)) | ||
53 | else: | ||
54 | logger.info(response.text) |
case/WebAccountModifyPassword.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI | ||
11 | |||
12 | |||
13 | class WebAccountModifyPassword(unittest.TestCase): | ||
14 | |||
15 | def testFunc(self): | ||
16 | '''Web端强制修改密码''' | ||
17 | data_list = getTestCase('WEB_api_case.xlsx', '强制修改密码') | ||
18 | for i in range(len(data_list)): | ||
19 | self.getTest(data_list[i]) | ||
20 | |||
21 | def getTest(self, data): | ||
22 | tcname = data['tc_name'] | ||
23 | code = int(data['code']) | ||
24 | username = data['username'] | ||
25 | currentPassword = data['currentPassword'] | ||
26 | newPassword = data['newPassword'] | ||
27 | |||
28 | api_type = 'sys' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | } | ||
35 | payload = {"username": username, "currentPassword": currentPassword, "newPassword": newPassword} | ||
36 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
37 | |||
38 | url = vendor_host + api_type + file_readAPI(api_type, 'webModifyUsernameUsingPOST') | ||
39 | response = requests.request('POST', url, headers=headers, json=payload) | ||
40 | |||
41 | if response.status_code is 200: | ||
42 | res = response.json() | ||
43 | self.assertEqual(res['code'], code, msg=str(res)) | ||
44 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
45 | else: | ||
46 | logger.info(response.text) |
case/WebAccountModifyUser.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI, file_read_global | ||
12 | |||
13 | |||
14 | class WebAccountModifyUser(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''web端修改账号''' | ||
18 | data_list = getTestCase('WEB_api_case.xlsx', 'web端修改账号') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | web_name = file_read_global('account', 'web_user') | ||
26 | email = file_read_global('account', 'web_email') | ||
27 | id = file_read_global('account', 'web_user_id') | ||
28 | |||
29 | api_type = 'sys' | ||
30 | |||
31 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
32 | |||
33 | headers = { | ||
34 | 'Content-Type': 'application/json', | ||
35 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
36 | } | ||
37 | payload = { | ||
38 | "id": id, | ||
39 | "username": web_name, | ||
40 | "email": email, | ||
41 | "employeeId": web_name, | ||
42 | "name": web_name, | ||
43 | "roleId": 1, | ||
44 | "orgId": file_read_global('organization', 'subBranchId'), | ||
45 | "orgIdList": [1], | ||
46 | "groupId": '', | ||
47 | "auditScopeList": [], | ||
48 | "staffNo": web_name, | ||
49 | "role": 1 | ||
50 | } | ||
51 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
52 | |||
53 | url = vendor_host + api_type + file_readAPI(api_type, 'modifyUserUsingPOST') | ||
54 | response = requests.request('POST', url, headers=headers, json=payload) | ||
55 | |||
56 | if response.status_code is 200: | ||
57 | res = response.json() | ||
58 | self.assertEqual(res['code'], code, msg=str(res)) | ||
59 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
60 | else: | ||
61 | logger.info(response.text) |
case/WebAccountUserEditState.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests, time | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI | ||
11 | from util.HandleJson import file_read_global | ||
12 | |||
13 | |||
14 | class WebAccountUserEditState(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''更新web账号启用/禁用状态''' | ||
18 | data_list = getTestCase('WEB_api_case.xlsx', 'web账号启用禁用') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | time.sleep(2) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | departed = int(data['departed']) | ||
27 | username = file_read_global('account', 'web_user') | ||
28 | |||
29 | api_type = 'sys' | ||
30 | |||
31 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
32 | |||
33 | headers = { | ||
34 | 'Content-Type': 'application/json', | ||
35 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
36 | } | ||
37 | payload = { | ||
38 | "departed": departed, | ||
39 | "userId": file_read_global('account', 'web_user_id') | ||
40 | } | ||
41 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
42 | |||
43 | url = vendor_host + api_type + file_readAPI(api_type, 'editStateUsingPOST') | ||
44 | response = requests.request('POST', url, headers=headers, json=payload) | ||
45 | |||
46 | if response.status_code is 200: | ||
47 | res = response.json() | ||
48 | self.assertEqual(res['code'], code, msg=str(res)) | ||
49 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
50 | else: | ||
51 | logger.info(response.text) |
case/WebAdditionalDel.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global | ||
13 | |||
14 | |||
15 | class WebAdditionalDel(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''删除附加属性模版''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '删除附加属性模版') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | payload = { | ||
36 | "akId": file_read_global('product', 'akId') | ||
37 | } | ||
38 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
39 | |||
40 | url = vendor_host + api_type + file_readAPI(api_type, 'delAdditionalTemplateUsingPOST') | ||
41 | response = requests.request('POST', url, headers=headers, json=payload) | ||
42 | |||
43 | if response.status_code is 200: | ||
44 | res = response.json() | ||
45 | self.assertEqual(res['code'], code, msg=str(res)) | ||
46 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
47 | else: | ||
48 | logger.info(response.text) |
case/WebAdditionalEdit.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global | ||
13 | from util.HandleSql import db_sql | ||
14 | |||
15 | |||
16 | class WebAdditionalEdit(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''编辑附加属性''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', '编辑附加属性') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | code = int(data['code']) | ||
27 | productCode = data['productCode'] | ||
28 | productName = data['productName'] | ||
29 | keyValue = data['keyValue'] | ||
30 | avId = data['avId'] | ||
31 | |||
32 | api_type = 're' | ||
33 | |||
34 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
35 | |||
36 | headers = { | ||
37 | 'Content-Type': 'application/json', | ||
38 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
39 | } | ||
40 | payload = { | ||
41 | "plId": db_sql.select_product(productName), | ||
42 | "akId": file_read_global('product', 'akId'), | ||
43 | "avId": avId, | ||
44 | "productCode": productCode, | ||
45 | "productName": productName, | ||
46 | "keyValue": keyValue | ||
47 | } | ||
48 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
49 | |||
50 | url = vendor_host + api_type + file_readAPI(api_type, 'editsAdditionalValueUsingPOST') | ||
51 | response = requests.request('POST', url, headers=headers, json=payload) | ||
52 | |||
53 | if response.status_code is 200: | ||
54 | res = response.json() | ||
55 | self.assertEqual(res['code'], code, msg=str(res)) | ||
56 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
57 | else: | ||
58 | logger.info(response.text) |
case/WebAdditionalGet.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global | ||
13 | |||
14 | |||
15 | class WebAdditionalGet(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''获取附加属性信息''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '获取附加属性信息') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | payload = { | ||
36 | "akId": file_read_global('product', 'akId'), | ||
37 | "page": 1, | ||
38 | "perPage": 10 | ||
39 | } | ||
40 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
41 | |||
42 | url = vendor_host + api_type + file_readAPI(api_type, 'getAdditionalAllValueUsingPOST') | ||
43 | response = requests.request('POST', url, headers=headers, json=payload) | ||
44 | |||
45 | if response.status_code is 200: | ||
46 | res = response.json() | ||
47 | self.assertEqual(res['code'], code, msg=str(res)) | ||
48 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
49 | else: | ||
50 | logger.info(response.text) |
case/WebAdditionalList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebAdditionalList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''查询所有附加属性列表''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '查询所有附加属性列表') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | |||
36 | url = vendor_host + api_type + file_readAPI(api_type, 'queryProductAttributesListUsingPOST') | ||
37 | response = requests.request('POST', url, headers=headers) | ||
38 | |||
39 | if response.status_code is 200: | ||
40 | res = response.json() | ||
41 | self.assertEqual(res['code'], code, msg=str(res)) | ||
42 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
43 | else: | ||
44 | logger.info(response.text) |
case/WebAdditionalTemplate.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | from util.HandleSql import db_sql | ||
14 | |||
15 | |||
16 | class WebAdditionalTemplate(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''创建附加属性模版''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', '创建附加属性模版') | ||
21 | for i in range(len(data_list)): | ||
22 | additional = data_list[i]['additional'] | ||
23 | additional_id = db_sql.select_attributes(additional) | ||
24 | if additional_id is not None: | ||
25 | db_sql.delete_attributes(additional) | ||
26 | self.getTest(data_list[i]) | ||
27 | |||
28 | def getTest(self, data): | ||
29 | tcname = data['tc_name'] | ||
30 | code = int(data['code']) | ||
31 | additional = data['additional'] | ||
32 | |||
33 | api_type = 're' | ||
34 | |||
35 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
36 | |||
37 | headers = { | ||
38 | 'Content-Type': 'application/json', | ||
39 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
40 | } | ||
41 | payload = {"additionalTemplates": [{"keyword": additional}]} | ||
42 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
43 | |||
44 | url = vendor_host + api_type + file_readAPI(api_type, 'createAdditionalTemplateUsingPOST') | ||
45 | response = requests.request('POST', url, headers=headers, json=payload) | ||
46 | |||
47 | if response.status_code is 200: | ||
48 | res = response.json() | ||
49 | self.assertEqual(res['code'], code, msg=str(res)) | ||
50 | if res['code'] == 0: | ||
51 | file_updata_global('product', 'akId', res['result'][0]['akId']) | ||
52 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
53 | else: | ||
54 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
55 | else: | ||
56 | logger.info(response.text) |
case/WebAllDelete.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest | ||
7 | from util.HandleSql import db_sql | ||
8 | from util.HandleJson import file_read_global | ||
9 | |||
10 | |||
11 | class WebAllDelete(unittest.TestCase): | ||
12 | |||
13 | def testFunc(self): | ||
14 | '''删除所有测试数据''' | ||
15 | # 删除账号 | ||
16 | db_sql.delete_user('apiappuser') | ||
17 | db_sql.delete_user('apiwebuser') | ||
18 | |||
19 | # 删除话术 | ||
20 | stlId = file_read_global('speech', 'stlId') | ||
21 | db_sql.delete_phase(stlId) | ||
22 | |||
23 | speech_name_copy = file_read_global('speech', 'speechName') + '-副本' | ||
24 | phase_copy_id = db_sql.select_pahse(speech_name_copy) | ||
25 | db_sql.delete_phase(phase_copy_id) |
case/WebChannelList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global,file_updata_global | ||
13 | |||
14 | |||
15 | class WebChannelList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''查询所有的渠道''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '查询所有的渠道') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 'sys' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | |||
36 | url = vendor_host + api_type + file_readAPI(api_type, 'queryAllChannelUsingPOST') | ||
37 | response = requests.request('POST', url, headers=headers) | ||
38 | |||
39 | if response.status_code is 200: | ||
40 | res = response.json() | ||
41 | self.assertEqual(res['code'], code, msg=str(res)) | ||
42 | if res['code'] == 0: | ||
43 | file_updata_global('channel', 'channel_name', res['result'][0]['label']) | ||
44 | file_updata_global('channel', 'channel_code', res['result'][0]['value']) | ||
45 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
46 | else: | ||
47 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
48 | else: | ||
49 | logger.info(response.text) |
case/WebEmailSend.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config import vendorList | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJenkins import config | ||
12 | from util.HandleJson import file_readAPI, file_read_global | ||
13 | |||
14 | |||
15 | class WebEmailSend(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''发送验证码''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '发送验证码') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | bizType = data['bizType'] | ||
27 | toEmail = file_read_global('account', 'web_email') | ||
28 | |||
29 | api_type = 'sys' | ||
30 | |||
31 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
32 | |||
33 | headers = { | ||
34 | 'Content-Type': 'application/json' | ||
35 | } | ||
36 | if config['pro'] in vendorList.web_login_forget_pwd: | ||
37 | payload = { | ||
38 | "bizType": bizType, | ||
39 | "toEmail": toEmail | ||
40 | } | ||
41 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
42 | |||
43 | url = vendor_host + api_type + file_readAPI(api_type, 'sendValidCodeEmailUsingPOST') | ||
44 | response = requests.request('POST', url, headers=headers, json=payload) | ||
45 | |||
46 | if response.status_code is 200: | ||
47 | res = response.json() | ||
48 | self.assertEqual(res['code'], code, msg=str(res)) | ||
49 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
50 | else: | ||
51 | logger.info(response.text) |
case/WebEmailValidCode.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI, file_read_global, file_updata_global | ||
11 | from util.HandleRedis import handle_redis | ||
12 | |||
13 | |||
14 | class WebEmailValidCode(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''验证邮箱验证码''' | ||
18 | data_list = getTestCase('WEB_api_case.xlsx', '验证邮箱验证码') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | bizType = data['bizType'] | ||
26 | email = file_read_global('account', 'web_email') | ||
27 | username = file_read_global('account', 'web_user') | ||
28 | validCode = handle_redis.get_string_value('email_forget_password_' + email) | ||
29 | |||
30 | api_type = 'sys' | ||
31 | |||
32 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
33 | |||
34 | headers = { | ||
35 | 'Content-Type': 'application/json' | ||
36 | } | ||
37 | payload = { | ||
38 | "bizType": bizType, | ||
39 | "email": email, | ||
40 | "username": username, | ||
41 | "validCode": validCode | ||
42 | } | ||
43 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
44 | |||
45 | url = vendor_host + api_type + file_readAPI(api_type, 'validEmailCodeUsingPOST') | ||
46 | response = requests.request('POST', url, headers=headers, json=payload) | ||
47 | |||
48 | if response.status_code is 200: | ||
49 | res = response.json() | ||
50 | self.assertEqual(res['code'], code, msg=str(res)) | ||
51 | file_updata_global('account', 'web_valid_code', res['result']) | ||
52 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
53 | else: | ||
54 | logger.info(response.text) |
case/WebFileDelete.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global | ||
13 | from util.HandleSql import db_sql | ||
14 | |||
15 | |||
16 | class WebFileDelete(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''删除文件''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', '删除文件') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | code = int(data['code']) | ||
27 | fileName = data['fileName'] | ||
28 | |||
29 | api_type = 're' | ||
30 | |||
31 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
32 | |||
33 | headers = { | ||
34 | 'Content-Type': 'application/json', | ||
35 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
36 | } | ||
37 | payload = { | ||
38 | "id": db_sql.select_file(fileName) | ||
39 | } | ||
40 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
41 | |||
42 | url = vendor_host + api_type + file_readAPI(api_type, 'deleteFileDetailUsingPOST') | ||
43 | response = requests.request('POST', url, headers=headers, json=payload) | ||
44 | |||
45 | if response.status_code is 200: | ||
46 | res = response.json() | ||
47 | self.assertEqual(res['code'], code, msg=str(res)) | ||
48 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
49 | else: | ||
50 | logger.info(response.text) |
case/WebFileDetail.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global | ||
13 | from util.HandleSql import db_sql | ||
14 | |||
15 | |||
16 | class WebFileDetail(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''查看文件详情''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', '查看文件详情') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | code = int(data['code']) | ||
27 | fileName = data['fileName'] | ||
28 | |||
29 | api_type = 're' | ||
30 | |||
31 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
32 | |||
33 | headers = { | ||
34 | 'Content-Type': 'application/json', | ||
35 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
36 | } | ||
37 | payload = { | ||
38 | "id": db_sql.select_file(fileName) | ||
39 | } | ||
40 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
41 | |||
42 | url = vendor_host + api_type + file_readAPI(api_type, 'getFileDetailUsingPOST') | ||
43 | response = requests.request('POST', url, headers=headers, json=payload) | ||
44 | |||
45 | if response.status_code is 200: | ||
46 | res = response.json() | ||
47 | self.assertEqual(res['code'], code, msg=str(res)) | ||
48 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
49 | else: | ||
50 | logger.info(response.text) |
case/WebFileList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global,file_updata_global | ||
13 | |||
14 | |||
15 | class WebFileList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''文件管理列表''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '文件管理列表') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | docName = data['docName'] | ||
27 | product = data['product'] | ||
28 | |||
29 | api_type = 're' | ||
30 | |||
31 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
32 | |||
33 | headers = { | ||
34 | 'Content-Type': 'application/json', | ||
35 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
36 | } | ||
37 | payload = { | ||
38 | "docName": docName, | ||
39 | "docType": file_read_global('fileList', 'docType'), | ||
40 | "product": product, | ||
41 | "page": 1, | ||
42 | "perPage": 10 | ||
43 | } | ||
44 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
45 | |||
46 | url = vendor_host + api_type + file_readAPI(api_type, 'deleteFileDetailUsingPOST_1') | ||
47 | response = requests.request('POST', url, headers=headers, json=payload) | ||
48 | |||
49 | if response.status_code is 200: | ||
50 | res = response.json() | ||
51 | self.assertEqual(res['code'], code, msg=str(res)) | ||
52 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
53 | else: | ||
54 | logger.info(response.text) |
case/WebFileProductFuzzy.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global | ||
13 | |||
14 | |||
15 | class WebFileProductFuzzy(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''查询产品关联信息''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '查询关联产品') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | |||
36 | url = vendor_host + api_type + file_readAPI(api_type, 'getProductUsingGET') | ||
37 | response = requests.request('GET', url, headers=headers) | ||
38 | |||
39 | if response.status_code is 200: | ||
40 | res = response.json() | ||
41 | self.assertEqual(res['code'], code, msg=str(res)) | ||
42 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
43 | else: | ||
44 | logger.info(response.text) |
case/WebFileUpdate.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global | ||
13 | from util.HandleSql import db_sql | ||
14 | |||
15 | |||
16 | class WebFileUpdate(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''更新文件信息''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', '更新文件信息') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | code = int(data['code']) | ||
27 | docName = data['docName'] | ||
28 | productCode = data['productCode'] | ||
29 | |||
30 | api_type = 're' | ||
31 | |||
32 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
33 | |||
34 | headers = { | ||
35 | 'Content-Type': 'application/json', | ||
36 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
37 | } | ||
38 | payload = { | ||
39 | 'id': db_sql.select_file(docName), | ||
40 | 'docName': docName, | ||
41 | 'docType': file_read_global('fileList', 'docType'), | ||
42 | 'productCode': productCode, | ||
43 | 'checkedCityArr': [file_read_global('organization', 'branchId')], | ||
44 | 'checkedChannelArr': [file_read_global('channel', 'channel_name')] | ||
45 | } | ||
46 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
47 | |||
48 | url = vendor_host + api_type + file_readAPI(api_type, 'updateFileUsingPOST') | ||
49 | response = requests.request('POST', url, headers=headers, json=payload) | ||
50 | |||
51 | if response.status_code is 200: | ||
52 | res = response.json() | ||
53 | self.assertEqual(res['code'], code, msg=str(res)) | ||
54 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
55 | else: | ||
56 | logger.info(response.text) |
case/WebFileUpload.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/12 下午5:35 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path, file_pdf_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_read_global, file_readAPI | ||
12 | import warnings | ||
13 | |||
14 | |||
15 | class WebFileUpload(unittest.TestCase): | ||
16 | def testFunc(self): | ||
17 | '''Web端上传文件''' | ||
18 | warnings.simplefilter('ignore', ResourceWarning) | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', 'Web端上传文件') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | productCode = data['productCode'] | ||
27 | |||
28 | api_type = 're' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | |||
36 | payload = { | ||
37 | # 'docName': 'apitest.pdf', | ||
38 | 'docType': file_read_global('fileList', 'docType'), | ||
39 | 'productCode': productCode, | ||
40 | 'checkedChannelArr': file_read_global('channel', 'channel_name'), | ||
41 | 'checkedCityArr': file_read_global('organization', 'subBranchId'), | ||
42 | 'checkedProvinceArr': file_read_global('organization', 'branchId'), | ||
43 | } | ||
44 | files = [ | ||
45 | ('file', ('apitest.pdf', | ||
46 | open(file_pdf_path, 'rb'), "application/pdf")) | ||
47 | ] | ||
48 | |||
49 | url = vendor_host + api_type + file_readAPI(api_type, 'uploadFileUsingPOST') | ||
50 | response = requests.post(url, headers=headers, data=payload, files=files) | ||
51 | |||
52 | logger.info(response.text) |
case/WebForgetPassword.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI, file_read_global | ||
11 | from util.HandleRedis import handle_redis | ||
12 | |||
13 | |||
14 | class WebForgetPassword(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''web端忘记密码''' | ||
18 | data_list = getTestCase('WEB_api_case.xlsx', '忘记密码修改') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | password = data['password'] | ||
26 | username = file_read_global('account', 'web_user') | ||
27 | validCode = file_read_global('account','web_valid_code') | ||
28 | |||
29 | api_type = 'sys' | ||
30 | |||
31 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
32 | |||
33 | headers = { | ||
34 | 'Content-Type': 'application/json' | ||
35 | } | ||
36 | payload = { | ||
37 | "password": password, | ||
38 | "username": username, | ||
39 | "validNum": validCode | ||
40 | } | ||
41 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
42 | |||
43 | url = vendor_host + api_type + file_readAPI(api_type, 'forgetPassword2UsingPOST') | ||
44 | response = requests.request('POST', url, headers=headers, json=payload) | ||
45 | |||
46 | if response.status_code is 200: | ||
47 | res = response.json() | ||
48 | self.assertEqual(res['code'], code, msg=str(res)) | ||
49 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
50 | else: | ||
51 | logger.info(response.text) |
case/WebLogin.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config import vendorList | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJenkins import config | ||
12 | from util.HandleJson import file_readAPI | ||
13 | from util.HandleJson import file_updata_global | ||
14 | |||
15 | |||
16 | class WebLogin(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''web登陆''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', 'web登陆') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | code = int(data['code']) | ||
27 | password = data['password'] | ||
28 | username = data['username'] | ||
29 | |||
30 | api_type = 'sys' | ||
31 | |||
32 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
33 | |||
34 | headers = { | ||
35 | 'Content-Type': 'application/json' | ||
36 | } | ||
37 | if config['pro'] in vendorList.web_login_1: | ||
38 | payload = {"username": username, "password": password} | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'webLoginUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | res = response.json() | ||
46 | self.assertEqual(res['code'], code, msg=str(res)) | ||
47 | file_updata_global('web_login', 'token', res['result']['token']) | ||
48 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
49 | else: | ||
50 | logger.info(response.text) |
case/WebOrderPhaseValidateV3.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI | ||
11 | from util.HandleJson import file_read_global | ||
12 | from util.HandleSql import db_sql | ||
13 | |||
14 | |||
15 | class WebOrderPhaseValidateV3(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''话术验证生成话术''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '话术验证生成话术') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | orderInfo =db_sql.select_extra_info(file_read_global('order','orderRecordId')) | ||
28 | stlId = file_read_global('speech', 'stlId') | ||
29 | |||
30 | api_type = 're' | ||
31 | |||
32 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
33 | |||
34 | headers = { | ||
35 | 'Content-Type': 'application/json', | ||
36 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
37 | } | ||
38 | payload = { | ||
39 | "orderInfo": orderInfo, | ||
40 | "stlId": stlId | ||
41 | } | ||
42 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
43 | |||
44 | url = vendor_host + api_type + file_readAPI(api_type, 'getOrderPhaseV3UsingPOST') | ||
45 | response = requests.request('POST', url, headers=headers, json=payload) | ||
46 | |||
47 | if response.status_code is 200: | ||
48 | res = response.json() | ||
49 | self.assertEqual(res['code'], code, msg=str(res)) | ||
50 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
51 | else: | ||
52 | logger.error(response.text) |
case/WebOrderReportDown.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI,file_read_global | ||
12 | from util.HandleTime import handle_time | ||
13 | |||
14 | |||
15 | |||
16 | class WebOrderReportDown(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''报表下载''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', '报表下载') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | |||
27 | api_type = 'cl' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | payload = { | ||
36 | "beginTime": handle_time.timeTimeYMD(), | ||
37 | "endTime": handle_time.timeTimeYMD() | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'orderReport3UsingGET') | ||
42 | response = requests.request('GET', url, headers=headers, params=payload) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | logger.info('报表下载成功') | ||
46 | else: | ||
47 | logger.error('报表下载失败') |
case/WebOrganizationGetTree.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.firstLogin import FirstLogin | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_updata_global | ||
13 | |||
14 | |||
15 | class WebOrganizationGetTree(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''查询机构结构''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '查询机构结构') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 'sys' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': FirstLogin() | ||
34 | } | ||
35 | url = vendor_host + api_type + file_readAPI(api_type, 'getOrgTreeUsingPOST') | ||
36 | response = requests.request('POST', url, headers=headers) | ||
37 | |||
38 | if response.status_code is 200: | ||
39 | res = response.json() | ||
40 | self.assertEqual(res['code'], code, msg=str(res)) | ||
41 | if res['code'] == 0: | ||
42 | file_updata_global('organization', 'branchId', res['result'][0]['id']) | ||
43 | file_updata_global('organization', 'subBranchId', res['result'][0]['orgs'][0]['id']) | ||
44 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
45 | else: | ||
46 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
47 | else: | ||
48 | logger.info(response.text) |
case/WebOrganizationList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebOrganizationList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''机构列表''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '机构列表') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | branchId = data['branchId'] | ||
27 | if branchId != '': | ||
28 | branchId = file_read_global('organization', 'branchId') | ||
29 | subBranchId = data['subBranchId'] | ||
30 | if subBranchId != '': | ||
31 | subBranchId = file_read_global('organization', 'subBranchId') | ||
32 | |||
33 | api_type = 'sys' | ||
34 | |||
35 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
36 | |||
37 | headers = { | ||
38 | 'Content-Type': 'application/json', | ||
39 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
40 | } | ||
41 | payload = { | ||
42 | "branchId": branchId, | ||
43 | "subBranchId": subBranchId, | ||
44 | "page": 1, | ||
45 | "perPage": 10 | ||
46 | } | ||
47 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
48 | |||
49 | url = vendor_host + api_type + file_readAPI(api_type, 'organizationListUsingPOST') | ||
50 | response = requests.request('POST', url, headers=headers, json=payload) | ||
51 | |||
52 | if response.status_code is 200: | ||
53 | res = response.json() | ||
54 | self.assertEqual(res['code'], code, msg=str(res)) | ||
55 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
56 | else: | ||
57 | logger.info(response.text) |
case/WebOrganizationPositingSwitcher.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebOrganizationPositingSwitcher(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''地理位置水印开关''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '地理位置水印开关') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | positioning = data['positioning'] | ||
27 | |||
28 | api_type = 'sys' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "branchId": file_read_global('organization', 'branchId'), | ||
38 | "positioning": positioning | ||
39 | } | ||
40 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
41 | |||
42 | url = vendor_host + api_type + file_readAPI(api_type, 'switcherPositioningUsingPOST') | ||
43 | response = requests.request('POST', url, headers=headers, json=payload) | ||
44 | |||
45 | if response.status_code is 200: | ||
46 | res = response.json() | ||
47 | self.assertEqual(res['code'], code, msg=str(res)) | ||
48 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
49 | else: | ||
50 | logger.info(response.text) |
case/WebOrganizationQuery.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI | ||
11 | from util.HandleJson import file_read_global | ||
12 | |||
13 | |||
14 | class WebOrganizationQuery(unittest.TestCase): | ||
15 | |||
16 | def testFunc(self): | ||
17 | '''查询机构''' | ||
18 | data_list = getTestCase('WEB_api_case.xlsx', '查询机构') | ||
19 | for i in range(len(data_list)): | ||
20 | self.getTest(data_list[i]) | ||
21 | |||
22 | def getTest(self, data): | ||
23 | tcname = data['tc_name'] | ||
24 | code = int(data['code']) | ||
25 | |||
26 | api_type = 'sys' | ||
27 | |||
28 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
29 | |||
30 | headers = { | ||
31 | 'Content-Type': 'application/json', | ||
32 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
33 | } | ||
34 | payload = { | ||
35 | "verifyPermissions": 2 | ||
36 | } | ||
37 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
38 | |||
39 | url = vendor_host + api_type + file_readAPI(api_type, 'querySpeechTakeEffectConditionUsingPOST') | ||
40 | response = requests.request('POST', url, headers=headers, json=payload) | ||
41 | |||
42 | if response.status_code is 200: | ||
43 | res = response.json() | ||
44 | self.assertEqual(res['code'], code, msg=str(res)) | ||
45 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
46 | else: | ||
47 | logger.info(response.text) |
case/WebOrganizationQueryBranch.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebOrganizationQueryBranch(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''查询全部分公司''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '查询全部分公司') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 'sys' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | payload = { | ||
36 | "type": '', | ||
37 | "verifyPermissions": 2 | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'queryBranchUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | res = response.json() | ||
46 | self.assertEqual(res['code'], code, msg=str(res)) | ||
47 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
48 | else: | ||
49 | logger.info(response.text) |
case/WebOrganizationQuerySubBranch.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebOrganizationQuerySubBranch(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''查询属于某个分公司的全部支公司''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '查询分公司的子公司') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 'sys' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | payload = { | ||
36 | "branchId": file_read_global('organization', 'branchId'), | ||
37 | "type": '', | ||
38 | "verifyPermissions": 2 | ||
39 | } | ||
40 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
41 | |||
42 | url = vendor_host + api_type + file_readAPI(api_type, 'querySubBranchUsingPOST') | ||
43 | response = requests.request('POST', url, headers=headers, json=payload) | ||
44 | |||
45 | if response.status_code is 200: | ||
46 | res = response.json() | ||
47 | self.assertEqual(res['code'], code, msg=str(res)) | ||
48 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
49 | else: | ||
50 | logger.info(response.text) |
case/WebPopupFileList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global,file_updata_global | ||
13 | |||
14 | |||
15 | class WebPopupFileList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''查询文件类型''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '查询文件类型') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | |||
36 | url = vendor_host + api_type + file_readAPI(api_type, 'getPoupFilesUsingPOST') | ||
37 | response = requests.request('POST', url, headers=headers) | ||
38 | |||
39 | if response.status_code is 200: | ||
40 | res = response.json() | ||
41 | self.assertEqual(res['code'], code, msg=str(res)) | ||
42 | if res['code'] == 0: | ||
43 | file_updata_global('fileList', 'docType', res['result'][0]['value']) | ||
44 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
45 | else: | ||
46 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
47 | else: | ||
48 | logger.info(response.text) |
case/WebProductCreat.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI | ||
11 | from util.HandleJson import file_read_global, file_updata_global | ||
12 | from util.HandleSql import db_sql | ||
13 | |||
14 | |||
15 | class WebProductCreat(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''创建产品''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '创建产品') | ||
20 | for i in range(len(data_list)): | ||
21 | product_name = data_list[i]['productName'] | ||
22 | product_id = db_sql.select_product(product_name) | ||
23 | if product_id is not None: | ||
24 | db_sql.delete_product(product_name) | ||
25 | self.getTest(data_list[i]) | ||
26 | |||
27 | def getTest(self, data): | ||
28 | tc_ame = data['tc_name'] | ||
29 | code = int(data['code']) | ||
30 | productName = data['productName'] | ||
31 | productCode = data['productCode'] | ||
32 | insuranceType = data['insuranceType'] | ||
33 | |||
34 | api_type = 're' | ||
35 | |||
36 | logger.info('********************【' + tc_ame + '】接口测试开始!' + '********************') | ||
37 | |||
38 | headers = { | ||
39 | 'Content-Type': 'application/json', | ||
40 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
41 | } | ||
42 | payload = {"productName": productName, | ||
43 | "productTypeId": file_read_global('product', 'productTypeId'), | ||
44 | "productCode": productCode, | ||
45 | "insuranceType": insuranceType, | ||
46 | "additionalAttributes": [], | ||
47 | "checkedChannelArr": [file_read_global('channel', 'channel_code')]} | ||
48 | logger.info('【' + tc_ame + '】的接口入参为:' + str(payload)) | ||
49 | |||
50 | url = vendor_host + api_type + file_readAPI(api_type, 'createProductUsingPOST') | ||
51 | response = requests.request('POST', url, headers=headers, json=payload) | ||
52 | |||
53 | if response.status_code is 200: | ||
54 | res = response.json() | ||
55 | self.assertEqual(res['code'], code, msg=str(res)) | ||
56 | logger.info('【' + tc_ame + '】的接口返回参数为:' + str(res)) | ||
57 | if insuranceType == '1': | ||
58 | file_updata_global('product', 'product_name', productName) | ||
59 | file_updata_global('product', 'product_code', productCode) | ||
60 | elif insuranceType == '2': | ||
61 | file_updata_global('product', 'product_name_att', productName) | ||
62 | file_updata_global('product', 'product_code_att', productCode) | ||
63 | else: | ||
64 | logger.info(response.text) |
case/WebProductList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebProductList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''查询产品库列表''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '查询产品库列表') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | productStatus = data['productStatus'] | ||
27 | productTypeId = data['productTypeId'] | ||
28 | productNameCode = data['productNameCode'] | ||
29 | insuranceType = data['insuranceType'] | ||
30 | marketingChannel = data['marketingChannel'] | ||
31 | |||
32 | api_type = 're' | ||
33 | |||
34 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
35 | |||
36 | headers = { | ||
37 | 'Content-Type': 'application/json', | ||
38 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
39 | } | ||
40 | payload = {"productStatus": productStatus, | ||
41 | "productTypeId": productTypeId, | ||
42 | "productNameCode": productNameCode, | ||
43 | "insuranceType": insuranceType, | ||
44 | "marketingChannel": marketingChannel, | ||
45 | "page": 1, | ||
46 | "perPage": 10} | ||
47 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
48 | |||
49 | url = vendor_host + api_type + file_readAPI(api_type, 'queryProductLibraryListUsingPOST') | ||
50 | response = requests.request('POST', url, headers=headers, json=payload) | ||
51 | |||
52 | if response.status_code is 200: | ||
53 | res = response.json() | ||
54 | self.assertEqual(res['code'], code, msg=str(res)) | ||
55 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
56 | if productNameCode == file_read_global('product','product_code'): | ||
57 | file_updata_global('product', 'plId', res['result']['productLibraryList'][0]['id']) | ||
58 | elif productNameCode == file_read_global('product','product_code_att'): | ||
59 | file_updata_global('product', 'plId_att', res['result']['productLibraryList'][0]['id']) | ||
60 | |||
61 | else: | ||
62 | logger.info(response.text) |
case/WebProductTypeList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global,file_updata_global | ||
13 | |||
14 | |||
15 | class WebProductTypeList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''产品类型列表''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '产品类型列表') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | |||
36 | url = vendor_host + api_type + file_readAPI(api_type, 'templateListUsingPOST') | ||
37 | response = requests.request('POST', url, headers=headers) | ||
38 | |||
39 | if response.status_code is 200: | ||
40 | res = response.json() | ||
41 | self.assertEqual(res['code'], code, msg=str(res)) | ||
42 | if res['code'] == 0: | ||
43 | file_updata_global('product', 'productTypeName', res['result'][0]['productTypeName']) | ||
44 | file_updata_global('product', 'productTypeId', res['result'][0]['productTypeId']) | ||
45 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
46 | else: | ||
47 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
48 | else: | ||
49 | logger.info(response.text) |
case/WebProductUpdate.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global | ||
13 | |||
14 | |||
15 | class WebProductUpdate(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''更新产品上下架状态''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '更新产品上下架状态') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | productStatus = data['productStatus'] | ||
27 | |||
28 | api_type = 're' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | product_list = [] | ||
37 | product_list.append(file_read_global('product', 'plId')) | ||
38 | product_list.append(file_read_global('product', 'plId_att')) | ||
39 | for i in product_list: | ||
40 | payload = { | ||
41 | "plId": i, | ||
42 | "productStatus": productStatus | ||
43 | } | ||
44 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
45 | |||
46 | url = vendor_host + api_type + file_readAPI(api_type, 'updateProductStatusUsingPOST') | ||
47 | response = requests.request('POST', url, headers=headers, json=payload) | ||
48 | |||
49 | if response.status_code is 200: | ||
50 | res = response.json() | ||
51 | self.assertEqual(res['code'], code, msg=str(res)) | ||
52 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
53 | else: | ||
54 | logger.info(response.text) |
case/WebQualityAuditCanList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebQualityAuditCanList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''可质检列表''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '可质检列表') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | order_id = file_read_global('order', 'orderId') | ||
27 | |||
28 | api_type = 'qa' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "orderId": order_id, | ||
38 | "page": 1, | ||
39 | "perPage": 10 | ||
40 | } | ||
41 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
42 | |||
43 | url = vendor_host + api_type + file_readAPI(api_type, 'getAuditCanListUsingPOST') | ||
44 | response = requests.request('POST', url, headers=headers, json=payload) | ||
45 | |||
46 | if response.status_code is 200: | ||
47 | res = response.json() | ||
48 | self.assertEqual(res['code'], code, msg=str(res)) | ||
49 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
50 | else: | ||
51 | logger.info(response.text) |
case/WebQualityAuditDetail.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI | ||
11 | from util.HandleJson import file_read_global, file_updata_global | ||
12 | from util.HandleSql import db_sql | ||
13 | import time | ||
14 | |||
15 | |||
16 | class WebQualityAuditDetail(unittest.TestCase): | ||
17 | |||
18 | def testFunc(self): | ||
19 | '''订单详情''' | ||
20 | data_list = getTestCase('WEB_api_case.xlsx', '订单详情') | ||
21 | for i in range(len(data_list)): | ||
22 | self.getTest(data_list[i]) | ||
23 | |||
24 | def getTest(self, data): | ||
25 | tcname = data['tc_name'] | ||
26 | code = int(data['code']) | ||
27 | orderSource = int(data['orderSource']) | ||
28 | orderRecordId = file_read_global('order', 'orderRecordId') | ||
29 | |||
30 | api_type = 'qa' | ||
31 | |||
32 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
33 | |||
34 | headers = { | ||
35 | 'Content-Type': 'application/json', | ||
36 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
37 | } | ||
38 | payload = { | ||
39 | "orderRecordId": orderRecordId, | ||
40 | "orderSource": orderSource | ||
41 | } | ||
42 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
43 | |||
44 | url = vendor_host + api_type + file_readAPI(api_type, 'infoDetailUsingPOST') | ||
45 | response = requests.request('POST', url, headers=headers, json=payload) | ||
46 | |||
47 | if response.status_code is 200: | ||
48 | res = response.json() | ||
49 | self.assertEqual(res['code'], code, msg=str(res)) | ||
50 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
51 | file_updata_global('order', 'submitRecordId', res['result']['videoInfo'][0]['submitInfoId']) | ||
52 | file_updata_global('order', 'phaseId', | ||
53 | res['result']['videoInfo'][0]['phase'][0]['orderPhaseId']) | ||
54 | file_updata_global('order', 'phaseNum', res['result']['videoInfo'][0]['phase'][0]['phaseNum']) | ||
55 | file_updata_global('order', 'hintId', res['result']['videoInfo'][0]['phase'][0]['hint'][0]['hintId']) | ||
56 | file_updata_global('order', 'hintNum', res['result']['videoInfo'][0]['phase'][0]['hint'][0]['hintNum']) | ||
57 | else: | ||
58 | logger.info(response.text) | ||
59 | db_sql.update_order_status(orderRecordId) | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebQualityAuditProportionConfigDetail(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''提供质检比例规则详情''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '提供质检比例规则详情') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | role_id = file_read_global('proportion', 'role_id') | ||
27 | |||
28 | api_type = 'qa' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "id": role_id | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'getProportionRuleDetailUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | res = response.json() | ||
46 | self.assertEqual(res['code'], code, msg=str(res)) | ||
47 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
48 | else: | ||
49 | logger.info(response.text) |
case/WebQualityAuditProportionConfigList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebQualityAuditProportionConfigList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''提供质检比例规则列表''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '提供质检比例规则列表') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | ruleName = file_read_global('proportion', 'role_name') | ||
27 | |||
28 | api_type = 'qa' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "ruleName": ruleName, | ||
38 | "page": 1, | ||
39 | "perPage": 10 | ||
40 | } | ||
41 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
42 | |||
43 | url = vendor_host + api_type + file_readAPI(api_type, 'proportionListUsingPOST') | ||
44 | response = requests.request('POST', url, headers=headers, json=payload) | ||
45 | |||
46 | if response.status_code is 200: | ||
47 | res = response.json() | ||
48 | self.assertEqual(res['code'], code, msg=str(res)) | ||
49 | file_updata_global('proportion','role_id',res['result']['proportionList'][0]['id']) | ||
50 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
51 | else: | ||
52 | logger.info(response.text) |
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI | ||
11 | from util.HandleJson import file_read_global, file_updata_global | ||
12 | from util.HandleSql import db_sql | ||
13 | |||
14 | |||
15 | class WebQualityAuditProportionConfigRuleAdd(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''质检比列列表:新增规则''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '新增质检比例') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | ruleName = data['ruleName'] | ||
27 | proportion = int(data['proportion']) | ||
28 | channle = file_read_global('channel', 'channel_name') | ||
29 | age_id = file_read_global('age', '60岁以下') | ||
30 | age = db_sql.select_age_value(age_id) | ||
31 | productType = file_read_global('product', 'productTypeId') | ||
32 | branchId = file_read_global('organization', 'branchId') | ||
33 | subBranchId = file_read_global('organization', 'subBranchId') | ||
34 | |||
35 | api_type = 'qa' | ||
36 | |||
37 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
38 | |||
39 | headers = { | ||
40 | 'Content-Type': 'application/json', | ||
41 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
42 | } | ||
43 | payload = { | ||
44 | "ruleName": ruleName, | ||
45 | "proportion": proportion, | ||
46 | "checkedChannelArr": [channle], | ||
47 | "checkedAgeArr": [age], | ||
48 | "checkedProductTypeArr": [productType], | ||
49 | "ai": [], | ||
50 | "reviewProportion": 100, | ||
51 | "checkedProvinceArr": [branchId], | ||
52 | "checkedCityArr": [subBranchId], | ||
53 | "checkedPeriodArr": [], | ||
54 | "checkedSystemTypeArr": [], | ||
55 | "checkedOrderTypeArr": [], | ||
56 | "samplingPeriod": "0", | ||
57 | "checkedSubCompanyArr": [subBranchId] | ||
58 | } | ||
59 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
60 | |||
61 | url = vendor_host + api_type + file_readAPI(api_type, 'addProportionRuleUsingPOST') | ||
62 | response = requests.request('POST', url, headers=headers, json=payload) | ||
63 | |||
64 | if response.status_code is 200: | ||
65 | res = response.json() | ||
66 | self.assertEqual(res['code'], code, msg=str(res)) | ||
67 | file_updata_global('proportion', 'role_name', ruleName) | ||
68 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
69 | else: | ||
70 | logger.info(response.text) |
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebQualityAuditProportionConfigRuleDelete(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''质检比列列表:删除规则''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '删除质检比例') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | role_id = file_read_global('proportion', 'role_id') | ||
27 | |||
28 | api_type = 'qa' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "id": role_id | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'deleteProportionRuleUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | res = response.json() | ||
46 | self.assertEqual(res['code'], code, msg=str(res)) | ||
47 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
48 | else: | ||
49 | logger.info(response.text) |
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from util.generate import getTestCase | ||
9 | from util.log import logger | ||
10 | from util.HandleJson import file_readAPI | ||
11 | from util.HandleJson import file_read_global, file_updata_global | ||
12 | from util.HandleSql import db_sql | ||
13 | |||
14 | |||
15 | class WebQualityAuditProportionConfigRuleModify(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''质检比列列表:修改规则''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '修改质检比例') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | proportion = int(data['proportion']) | ||
27 | ruleName = file_read_global('proportion', 'role_name') | ||
28 | channle = file_read_global('channel', 'channel_name') | ||
29 | age_id = file_read_global('age', '60岁以下') | ||
30 | age = db_sql.select_age_value(age_id) | ||
31 | productType = file_read_global('product', 'productTypeId') | ||
32 | branchId = file_read_global('organization', 'branchId') | ||
33 | subBranchId = file_read_global('organization', 'subBranchId') | ||
34 | role_id = file_read_global('proportion', 'role_id') | ||
35 | |||
36 | api_type = 'qa' | ||
37 | |||
38 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
39 | |||
40 | headers = { | ||
41 | 'Content-Type': 'application/json', | ||
42 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
43 | } | ||
44 | payload = { | ||
45 | "id": role_id, | ||
46 | "ruleName": ruleName, | ||
47 | "proportion": proportion, | ||
48 | "checkedChannelArr": [channle], | ||
49 | "checkedAgeArr": [age], | ||
50 | "checkedProductTypeArr": [productType], | ||
51 | "ai": [], | ||
52 | "checkedProvinceArr": [branchId], | ||
53 | "checkedCityArr": [subBranchId], | ||
54 | "checkedPeriodArr": [], | ||
55 | "checkedSystemTypeArr": [], | ||
56 | "checkedOrderTypeArr": [], | ||
57 | "samplingPeriod": "0", | ||
58 | } | ||
59 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
60 | |||
61 | url = vendor_host + api_type + file_readAPI(api_type, 'modifyProportionRuleUsingPOST') | ||
62 | response = requests.request('POST', url, headers=headers, json=payload) | ||
63 | |||
64 | if response.status_code is 200: | ||
65 | res = response.json() | ||
66 | self.assertEqual(res['code'], code, msg=str(res)) | ||
67 | file_updata_global('proportion', 'role_name', ruleName) | ||
68 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
69 | else: | ||
70 | logger.info(response.text) |
case/WebQualityAuditRecordHistory.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebQualityAuditRecordHistory(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''审核历史记录''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '审核历史记录') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | orderRecordId = file_read_global('order', 'orderRecordId') | ||
27 | |||
28 | api_type = 'qa' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "orderRecordId": orderRecordId, | ||
38 | "page": 1, | ||
39 | "perPage": 10000 | ||
40 | } | ||
41 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
42 | |||
43 | url = vendor_host + api_type + file_readAPI(api_type, 'getAuditHistoriesUsingPOST') | ||
44 | response = requests.request('POST', url, headers=headers, json=payload) | ||
45 | |||
46 | if response.status_code is 200: | ||
47 | res = response.json() | ||
48 | self.assertEqual(res['code'], code, msg=str(res)) | ||
49 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
50 | else: | ||
51 | logger.info(response.text) |
case/WebQualityAuditSubmit.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebQualityAuditSubmit(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''审核结论提交''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '审核结论提交') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | manualConclusion = data['manualConclusion'] | ||
27 | orderSource = int(data['orderSource']) | ||
28 | orderRecordId = file_read_global('order', 'orderRecordId') | ||
29 | submitRecordId = file_read_global('order', 'submitRecordId') | ||
30 | phaseId = file_read_global('order', 'phaseId') | ||
31 | phaseNum = file_read_global('order', 'phaseNum') | ||
32 | hintId = file_read_global('order', 'hintId') | ||
33 | hintNum = file_read_global('order', 'hintNum') | ||
34 | |||
35 | api_type = 'qa' | ||
36 | |||
37 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
38 | |||
39 | headers = { | ||
40 | 'Content-Type': 'application/json', | ||
41 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
42 | } | ||
43 | payload = { | ||
44 | "qualityAuditAdvice": 3, | ||
45 | "orderRecordId": orderRecordId, | ||
46 | "submitRecordId": submitRecordId, | ||
47 | "submitDetailId": "", | ||
48 | "auditResult": [ | ||
49 | { | ||
50 | "phaseId": phaseId, | ||
51 | "phaseNum": phaseNum, | ||
52 | "hint": [ | ||
53 | { | ||
54 | "manualConclusion": manualConclusion, | ||
55 | "auditConclusion": [ | ||
56 | { | ||
57 | "label": "客户离席", | ||
58 | "value": "0.1", | ||
59 | "checked": 1 | ||
60 | } | ||
61 | ], | ||
62 | "hintId": hintId, | ||
63 | "hintNum": hintNum | ||
64 | } | ||
65 | ] | ||
66 | } | ||
67 | ], | ||
68 | "changed": 0, | ||
69 | "remark": "", | ||
70 | "orderSource": orderSource, | ||
71 | "tag": "", | ||
72 | "modifyTag": "", | ||
73 | "comparisonResult": 2, | ||
74 | "rerecord": "" | ||
75 | } | ||
76 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
77 | |||
78 | url = vendor_host + api_type + file_readAPI(api_type, 'submitAuditUsingPOST') | ||
79 | response = requests.request('POST', url, headers=headers, json=payload) | ||
80 | |||
81 | if response.status_code is 200: | ||
82 | res = response.json() | ||
83 | self.assertEqual(res['code'], code, msg=str(res)) | ||
84 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
85 | else: | ||
86 | logger.info(response.text) |
case/WebSpeechTemplateConditionList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebSpeechTemplateConditionList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''获取话术生效条件''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '获取话术生效条件') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | payload = { | ||
36 | "insuranceType": "sx", | ||
37 | "stlId": "" | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'querySpeechTakeEffectConditionUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | res = response.json() | ||
46 | self.assertEqual(res['code'], code, msg=str(res)) | ||
47 | file_updata_global('age', res['result']['takeEffectAge'][0]['ageDescribe'], | ||
48 | res['result']['takeEffectAge'][0]['ageId']) | ||
49 | file_updata_global('age', res['result']['takeEffectAge'][1]['ageDescribe'], | ||
50 | res['result']['takeEffectAge'][1]['ageId'] | ||
51 | ) | ||
52 | file_updata_global('channel', 'channel_id', | ||
53 | res['result']['takeEffectChannel'][0]['channelId'] | ||
54 | ) | ||
55 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
56 | else: | ||
57 | logger.info(response.text) |
case/WebSpeechTemplateCopySpeech.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebSpeechTemplateCopySpeech(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''复制话术模版''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '复制话术模版') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | stlId = file_read_global('speech', 'stlId') | ||
27 | |||
28 | api_type = 're' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "stlId": stlId | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'copySpeechTemplateUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | res = response.json() | ||
46 | self.assertEqual(res['code'], code, msg=str(res)) | ||
47 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
48 | else: | ||
49 | logger.info(response.text) |
case/WebSpeechTemplateCreatRule.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebSpeechTemplateCreatRule(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''创建话术模板''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '创建话术模板') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | speechName = data['speechName'] | ||
27 | channelIds = file_read_global('channel', 'channel_id') | ||
28 | provinceIds = file_read_global('organization', 'branchId') | ||
29 | cityIds = file_read_global('organization', 'subBranchId') | ||
30 | ageIds = file_read_global('age', '60岁以下') | ||
31 | # 是否自保件 | ||
32 | insuranceSelf = int(data['insuranceSelf']) | ||
33 | # | ||
34 | systemType = int(data['systemType']) | ||
35 | |||
36 | api_type = 're' | ||
37 | |||
38 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
39 | |||
40 | headers = { | ||
41 | 'Content-Type': 'application/json', | ||
42 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
43 | } | ||
44 | payload = { | ||
45 | "speechName": speechName, | ||
46 | "channelIds": [channelIds], | ||
47 | "provinceIds": [provinceIds, provinceIds], | ||
48 | "cityIds": [cityIds], | ||
49 | "ageIds": [ageIds], | ||
50 | "insuranceSelf": insuranceSelf, | ||
51 | "insuranceType": "sx", | ||
52 | "systemType": systemType | ||
53 | } | ||
54 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
55 | |||
56 | url = vendor_host + api_type + file_readAPI(api_type, 'createSpeechRuleUsingPOST') | ||
57 | response = requests.request('POST', url, headers=headers, json=payload) | ||
58 | |||
59 | if response.status_code is 200: | ||
60 | res = response.json() | ||
61 | self.assertEqual(res['code'], code, msg=str(res)) | ||
62 | file_updata_global('speech', 'speechName', speechName) | ||
63 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
64 | else: | ||
65 | logger.info(response.text) |
case/WebSpeechTemplateGetSpeech.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebSpeechTemplateGetSpeech(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''话术预览/话术编辑 (获取话术)''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '话术预览编辑') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | stlId = file_read_global('speech','stlId') | ||
27 | |||
28 | api_type = 're' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "stlId": stlId | ||
38 | } | ||
39 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
40 | |||
41 | url = vendor_host + api_type + file_readAPI(api_type, 'getSpeechTemplateUsingPOST') | ||
42 | response = requests.request('POST', url, headers=headers, json=payload) | ||
43 | |||
44 | if response.status_code is 200: | ||
45 | res = response.json() | ||
46 | self.assertEqual(res['code'], code, msg=str(res)) | ||
47 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
48 | else: | ||
49 | logger.info(response.text) |
case/WebSpeechTemplateOperators.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebSpeechTemplateOperators(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''话术获取运算符''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '话术获取运算符') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | |||
36 | url = vendor_host + api_type + file_readAPI(api_type, 'getOperatorsUsingGET') | ||
37 | response = requests.request('GET', url, headers=headers) | ||
38 | |||
39 | if response.status_code is 200: | ||
40 | res = response.json() | ||
41 | self.assertEqual(res['code'], code, msg=str(res)) | ||
42 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
43 | else: | ||
44 | logger.info(response.text) |
case/WebSpeechTemplatePhaseCreat.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebSpeechTemplatePhaseCreat(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''创建话术模板环节(话术大环节、小环节)''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '创建话术') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | speechName = file_read_global('speech', 'speechName') | ||
27 | stlId = file_read_global('speech', 'stlId') | ||
28 | |||
29 | api_type = 're' | ||
30 | |||
31 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
32 | |||
33 | headers = { | ||
34 | 'Content-Type': 'application/json', | ||
35 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
36 | } | ||
37 | payload = { | ||
38 | "speechName": speechName, | ||
39 | "stlId": stlId, | ||
40 | "phaseList": [ | ||
41 | { | ||
42 | "phaseTitle": "大环节名称", | ||
43 | "phaseNum": 1, | ||
44 | "showPhaseTitle": "大环节名称", | ||
45 | "hintsList": [ | ||
46 | { | ||
47 | "hintName": "apitest", | ||
48 | "hintTitle": "apitest", | ||
49 | "showHintName": "小环节名称", | ||
50 | "tts": "接口自动话测试", | ||
51 | "hintNum": 1, | ||
52 | "conditions": [], | ||
53 | "conditionType": 1, | ||
54 | "hintType": { | ||
55 | "hintType": 2, | ||
56 | "sure": "", | ||
57 | "no": "", | ||
58 | "docType": 100, | ||
59 | "certificateType": "", | ||
60 | "ocr": "", | ||
61 | "docPrdCode": "" | ||
62 | }, | ||
63 | "bindBefore": 0, | ||
64 | "bindAfter": 0, | ||
65 | "bindBeforeChosed": 1, | ||
66 | "bindUnique": "f2f3eb26-856b-8fd1-e916-e761f8739d9d", | ||
67 | "classIndex": 0, | ||
68 | "userRole": 1 | ||
69 | } | ||
70 | ] | ||
71 | } | ||
72 | ] | ||
73 | } | ||
74 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
75 | |||
76 | url = vendor_host + api_type + file_readAPI(api_type, 'createSpeechPhaseUsingPOST') | ||
77 | response = requests.request('POST', url, headers=headers, json=payload) | ||
78 | |||
79 | if response.status_code is 200: | ||
80 | res = response.json() | ||
81 | self.assertEqual(res['code'], code, msg=str(res)) | ||
82 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
83 | else: | ||
84 | logger.info(response.text) |
case/WebSpeechTemplateQueryList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebSpeechTemplateQueryList(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''话术模版库列表''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '话术模版库列表') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | speechName = file_read_global('speech', 'speechName') | ||
27 | |||
28 | api_type = 're' | ||
29 | |||
30 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
31 | |||
32 | headers = { | ||
33 | 'Content-Type': 'application/json', | ||
34 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
35 | } | ||
36 | payload = { | ||
37 | "speechName": speechName, | ||
38 | "page": 1, | ||
39 | "perPage": 10, | ||
40 | } | ||
41 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
42 | |||
43 | url = vendor_host + api_type + file_readAPI(api_type, 'querySpeechTemplateListUsingPOST') | ||
44 | response = requests.request('POST', url, headers=headers, json=payload) | ||
45 | |||
46 | if response.status_code is 200: | ||
47 | res = response.json() | ||
48 | self.assertEqual(res['code'], code, msg=str(res)) | ||
49 | file_updata_global('speech', 'stlId', res['result']['speechList'][0]['stlId']) | ||
50 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
51 | else: | ||
52 | logger.info(response.text) |
case/WebSpeechTemplateUpdateStatus.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebSpeechTemplateUpdateStatus(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''更新话术状态: 上架、下架''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '更新话术状态') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | speechStatus = int(data['speechStatus']) | ||
27 | stlId = file_read_global('speech', 'stlId') | ||
28 | |||
29 | api_type = 're' | ||
30 | |||
31 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
32 | |||
33 | headers = { | ||
34 | 'Content-Type': 'application/json', | ||
35 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
36 | } | ||
37 | payload = { | ||
38 | "speechStatus": speechStatus, | ||
39 | "stlId": stlId | ||
40 | } | ||
41 | logger.info('【' + tcname + '】的接口入参为:' + str(payload)) | ||
42 | |||
43 | url = vendor_host + api_type + file_readAPI(api_type, 'updateSpeechStatusUsingPOST') | ||
44 | response = requests.request('POST', url, headers=headers, json=payload) | ||
45 | |||
46 | if response.status_code is 200: | ||
47 | res = response.json() | ||
48 | self.assertEqual(res['code'], code, msg=str(res)) | ||
49 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
50 | else: | ||
51 | logger.info(response.text) |
case/WebSpeechTemplateVariables.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/13 下午3:55 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import unittest, requests | ||
7 | from config.vendorHost import vendor_host | ||
8 | from config.vendorPath import global_path | ||
9 | from util.generate import getTestCase | ||
10 | from util.log import logger | ||
11 | from util.HandleJson import file_readAPI | ||
12 | from util.HandleJson import file_read_global, file_updata_global | ||
13 | |||
14 | |||
15 | class WebSpeechTemplateVariables(unittest.TestCase): | ||
16 | |||
17 | def testFunc(self): | ||
18 | '''话术获取生效条件''' | ||
19 | data_list = getTestCase('WEB_api_case.xlsx', '话术获取生效条件') | ||
20 | for i in range(len(data_list)): | ||
21 | self.getTest(data_list[i]) | ||
22 | |||
23 | def getTest(self, data): | ||
24 | tcname = data['tc_name'] | ||
25 | code = int(data['code']) | ||
26 | |||
27 | api_type = 're' | ||
28 | |||
29 | logger.info('********************【' + tcname + '】接口测试开始!' + '********************') | ||
30 | |||
31 | headers = { | ||
32 | 'Content-Type': 'application/json', | ||
33 | 'X-Auth-Token': file_read_global('web_login', 'token') | ||
34 | } | ||
35 | |||
36 | url = vendor_host + api_type + file_readAPI(api_type, 'getVariablesUsingGET') | ||
37 | response = requests.request('GET', url, headers=headers) | ||
38 | |||
39 | if response.status_code is 200: | ||
40 | res = response.json() | ||
41 | self.assertEqual(res['code'], code, msg=str(res)) | ||
42 | logger.info('【' + tcname + '】的接口返回参数为:' + str(res)) | ||
43 | else: | ||
44 | logger.info(response.text) |
config/global_param.json
0 → 100644
1 | { | ||
2 | "app_login": { | ||
3 | "token": "d301462b474643f483d1a4353495b5c4", | ||
4 | "directlyAgencyName": "济南本部" | ||
5 | }, | ||
6 | "web_login": { | ||
7 | "token": "34bbb95137264d03b252a0082ef6f742" | ||
8 | }, | ||
9 | "order": { | ||
10 | "orderRecordId": 167, | ||
11 | "orderId": "", | ||
12 | "submitRecordId": 7914, | ||
13 | "phaseId": 184605, | ||
14 | "phaseNum": 1, | ||
15 | "hintId": 368568, | ||
16 | "hintNum": 1, | ||
17 | "policyId": 169, | ||
18 | "policyNo": "202106002448538", | ||
19 | "selfNo": "202106002448538_8" | ||
20 | }, | ||
21 | "product": { | ||
22 | "productTypeName": "分红险", | ||
23 | "productTypeId": 13, | ||
24 | "akId": 129, | ||
25 | "product_name": "apitest", | ||
26 | "product_code": "apitest", | ||
27 | "plId": 435, | ||
28 | "product_name_att": "apitest2", | ||
29 | "product_code_att": "apitest2", | ||
30 | "plId_att": 436 | ||
31 | }, | ||
32 | "fileList": { | ||
33 | "docType": 3 | ||
34 | }, | ||
35 | "account": { | ||
36 | "desc": "账号信息", | ||
37 | "app_user": "apiappuser", | ||
38 | "web_user": "apiwebuser", | ||
39 | "web_email": "fumengqi@situdata.com", | ||
40 | "web_user_id": 2188, | ||
41 | "web_valid_code": "163245" | ||
42 | }, | ||
43 | "organization": { | ||
44 | "branchId": 1, | ||
45 | "subBranchId": 5 | ||
46 | }, | ||
47 | "channel": { | ||
48 | "desc": "渠道信息", | ||
49 | "channel_name": "个人营销", | ||
50 | "channel_code": "个人营销", | ||
51 | "channel_id": 9 | ||
52 | }, | ||
53 | "age": { | ||
54 | "60岁以上": 3, | ||
55 | "60岁以下": 4 | ||
56 | }, | ||
57 | "speech": { | ||
58 | "desc": "话术模版信息", | ||
59 | "stlId": 85, | ||
60 | "speechName": "接口自动化话术(勿动)" | ||
61 | }, | ||
62 | "proportion": { | ||
63 | "desc": "质检比例信息", | ||
64 | "role_name": "接口自动化质检比例(勿动)", | ||
65 | "role_id": 7 | ||
66 | }, | ||
67 | "订单基本信息": { | ||
68 | "保单号": "202106002448538", | ||
69 | "保单类型": "非自保件" | ||
70 | }, | ||
71 | "被保人信息": [ | ||
72 | { | ||
73 | "姓名": "哦哦", | ||
74 | "监护人姓名": "", | ||
75 | "证件号码": "110101200803071616", | ||
76 | "出生日期": "2008-03-07", | ||
77 | "证件类型": "身份证", | ||
78 | "性别": "男" | ||
79 | } | ||
80 | ], | ||
81 | "投保人信息": { | ||
82 | "姓名": "韩超", | ||
83 | "证件号码": "110101199003077694", | ||
84 | "出生日期": "1990-03-07", | ||
85 | "证件类型": "身份证", | ||
86 | "性别": "男", | ||
87 | "投保人是被保人的": "父亲" | ||
88 | }, | ||
89 | "保险信息": [ | ||
90 | { | ||
91 | "保险期限": "1年", | ||
92 | "被保人": [ | ||
93 | "哦哦" | ||
94 | ], | ||
95 | "附加险": [], | ||
96 | "产品名称": "德华安顾奥特保重大疾病保险(2021版)", | ||
97 | "每期缴费金额": 3.4, | ||
98 | "缴费期限": "1年", | ||
99 | "缴费方式": "年缴" | ||
100 | } | ||
101 | ] | ||
102 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
config/swaggerApi.json
0 → 100644
This diff is collapsed.
Click to expand it.
config/temp.json
0 → 100644
File mode changed
config/vendorHost.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:05 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | from util.HandleJenkins import config | ||
7 | from util.log import logger | ||
8 | |||
9 | ''' | ||
10 | 根据项目参数获取对应域名 | ||
11 | 1、环境 | ||
12 | 2、项目名称 | ||
13 | ''' | ||
14 | |||
15 | |||
16 | class VendorHost: | ||
17 | def __init__(self): | ||
18 | self.env = config['env'] | ||
19 | self.vendor = config['pro'] | ||
20 | |||
21 | # 获取项目域名 | ||
22 | def get_api_url(self): | ||
23 | logger.info(str(self.vendor) + '的' + str(self.env) + '环境域名为:' + str(self.vendorHostList[self.vendor][self.env])) | ||
24 | return self.vendorHostList[self.vendor][self.env] | ||
25 | |||
26 | # 项目域名 | ||
27 | vendorHostList = { | ||
28 | '中美大都会': {'staging': '1234', 'beta': '1234', 'vdr': 'https://vdr-staging.situdata.com/'}, | ||
29 | '瑞泰': {'staging': 'https://staging-oldmutual-life-video.situdata.com/'}, | ||
30 | '德华安顾': {'staging': '1234', 'beta': '1234', 'vdr': 'https://vdr-ergolife-staging.situdata.com/'} | ||
31 | } | ||
32 | |||
33 | |||
34 | vendor_host = VendorHost().get_api_url() |
config/vendorList.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/8/17 下午5:19 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | # app登陆方式区别,1无统一登陆,2统一登陆 | ||
7 | app_login_1 = ['中美大都会', '瑞泰'] | ||
8 | app_login_2 = ['德华安顾', 'other'] | ||
9 | |||
10 | # web登陆方式区分 | ||
11 | web_login_1 = ['中美大都会', '瑞泰', '德华安顾'] | ||
12 | |||
13 | # web登陆是否有忘记密码 | ||
14 | web_login_forget_pwd = ['中美大都会', '瑞泰', '德华安顾'] | ||
15 | |||
16 | # 生成订单,1新契约纸质入件,2保全纸质入件 | ||
17 | add_order_type_1 = ['中美大都会', '瑞泰', '德华安顾'] | ||
18 | add_order_type_2 = ['德华安顾'] | ||
19 | |||
20 | # redis连接方式区分 | ||
21 | db_40 = ['中美大都会'] | ||
22 | db_45 = ['瑞泰', '德华安顾'] |
config/vendorPath.py
0 → 100644
1 | #!/usr/bin/env python | ||
2 | # -*- coding: utf-8 -*- | ||
3 | # @Time : 2021/7/16 下午5:06 | ||
4 | # @Author : 付孟奇 | ||
5 | |||
6 | import os | ||
7 | from util.HandleJenkins import config | ||
8 | |||
9 | ''' | ||
10 | 记录项目所有文件路径 | ||
11 | ''' | ||
12 | |||
13 | # 项目根路径 | ||
14 | base_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | ||
15 | |||
16 | # case保存地址 | ||
17 | case_path = os.path.join(base_path, 'case') | ||
18 | |||
19 | # 公共参数文件 | ||
20 | global_path = os.path.join(base_path, 'config/global_param.json') | ||
21 | |||
22 | # 公共临时文件 | ||
23 | temp_path = os.path.join(base_path, 'config/temp.json') | ||
24 | |||
25 | # API接口存储路径 | ||
26 | api_path = os.path.join(base_path, 'config/swaggerApi.json') | ||
27 | |||
28 | # case执行顺序说明文件 | ||
29 | case_list_path = os.path.join(base_path, 'config/' + config['pro'] + '-config.json') | ||
30 | |||
31 | # 订单生成参数文件 | ||
32 | add_order_type_1_path = os.path.join(base_path, 'data/order/add_order_type_1.json') | ||
33 | add_order_type_2_path = os.path.join(base_path, 'data/order/add_order_type_2.json') | ||
34 | order_mp4_path = os.path.join(base_path, 'data/order/' + config['pro'] + '-mp4.json') | ||
35 | order_zip_path = os.path.join(base_path, 'data/order/' + config['pro'] + '.zip') | ||
36 | order_idCard_path = os.path.join(base_path, 'data/order/身份证正面.jpg') | ||
37 | |||
38 | # 文件参数 | ||
39 | file_pdf_path = os.path.join(base_path, 'data/file/apitest.pdf') | ||
40 | |||
41 | # 数据源Excel存储路径 | ||
42 | excel_path = os.path.join(base_path, 'data/excel') | ||
43 | |||
44 | # 日志路径 | ||
45 | # log_path = os.path.join(base_path, 'log/{}.log'.format(time.strftime('%Y-%m-%s'))) | ||
46 | log_path = os.path.join(base_path, 'log/api.log') | ||
47 | |||
48 | # 生成报告文件路径 | ||
49 | report_path = os.path.join(base_path, 'report/report.html') |
config/中美大都会-config.json
0 → 100644
1 | { | ||
2 | "WebOrganizationGetTree": "True", | ||
3 | "WebAccountAddWebUser": "True", | ||
4 | "WebAccountManage": "True", | ||
5 | "WebAccountGetUserInfo": "True", | ||
6 | "WebAccountModifyUser": "True", | ||
7 | "WebAccountUserEditState": "True", | ||
8 | "WebAccountModifyPassword": "True", | ||
9 | "WebEmailSend": "True", | ||
10 | "WebEmailValidCode": "True", | ||
11 | "WebForgetPassword": "True", | ||
12 | "WebLogin": "True", | ||
13 | "WebProductTypeList": "True", | ||
14 | "WebChannelList": "True", | ||
15 | "WebProductCreat": "True", | ||
16 | "WebProductList": "True", | ||
17 | "WebProductUpdate": "True", | ||
18 | "WebAdditionalTemplate": "True", | ||
19 | "WebAdditionalList": "True", | ||
20 | "WebAdditionalGet": "True", | ||
21 | "WebAdditionalEdit": "True", | ||
22 | "WebAdditionalDel": "True", | ||
23 | "WebOrganizationQuery": "True", | ||
24 | "WebOrganizationList": "True", | ||
25 | "WebOrganizationQueryBranch": "True", | ||
26 | "WebOrganizationQuerySubBranch": "True", | ||
27 | "WebPopupFileList": "True", | ||
28 | "WebFileProductFuzzy": "True", | ||
29 | "WebFileUpload": "True", | ||
30 | "WebFileList": "True", | ||
31 | "WebFileDetail": "True", | ||
32 | "WebFileUpdate": "True", | ||
33 | "WebFileDelete": "True", | ||
34 | "WebAccountAddAPPUser": "True", | ||
35 | "WebAccountAppManage": "True", | ||
36 | "WebAccountImportAppUser": "True", | ||
37 | "WebSpeechTemplateConditionList": "True", | ||
38 | "WebSpeechTemplateCreatRule": "True", | ||
39 | "WebSpeechTemplateQueryList": "True", | ||
40 | "WebSpeechTemplateVariables": "True", | ||
41 | "WebSpeechTemplateOperators":"True", | ||
42 | "WebSpeechTemplateGetSpeech": "True", | ||
43 | "WebSpeechTemplatePhaseCreat": "True", | ||
44 | "WebSpeechTemplateUpdateStatus": "True", | ||
45 | "WebSpeechTemplateCopySpeech": "True", | ||
46 | "WebQualityAuditProportionConfigRuleAdd": "True", | ||
47 | "WebQualityAuditProportionConfigList": "True", | ||
48 | "WebQualityAuditProportionConfigDetail":"True", | ||
49 | "WebQualityAuditProportionConfigRuleModify": "True", | ||
50 | "SystemSendSms": "True", | ||
51 | "SystemResetPassword": "True", | ||
52 | "AppAuthLogin": "True", | ||
53 | "AppVersionUpdate": "True", | ||
54 | "AppHomeList": "True", | ||
55 | "AppListCount": "True", | ||
56 | "AppProductList": "True", | ||
57 | "AppOrderAdd": "True", | ||
58 | "AppOrderDetail": "True", | ||
59 | "AppFileList": "True", | ||
60 | "AppPhaseV3": "True", | ||
61 | "AppTtsV3": "True", | ||
62 | "AppOrderFace": "True", | ||
63 | "AppAuthSts": "True", | ||
64 | "AppOrderSubmit": "True", | ||
65 | "WebQualityAuditCanList": "True", | ||
66 | "WebQualityAuditDetail":"True", | ||
67 | "WebQualityAuditSubmit": "True", | ||
68 | "WebQualityAuditRecordHistory": "True", | ||
69 | "AppQualityAuditRejectedDetail": "True", | ||
70 | "WebOrderPhaseValidateV3": "False", | ||
71 | "WebOrderReportDown": "True", | ||
72 | "WebQualityAuditProportionConfigRuleDelete": "True", | ||
73 | "WebAllDelete": "False" | ||
74 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
config/德华安顾-config.json
0 → 100644
1 | { | ||
2 | "WebOrganizationGetTree": "True", | ||
3 | "WebAccountAddWebUser": "True", | ||
4 | "WebAccountManage": "True", | ||
5 | "WebAccountGetUserInfo": "True", | ||
6 | "WebAccountModifyUser": "True", | ||
7 | "WebAccountUserEditState": "True", | ||
8 | "WebAccountModifyPassword": "True", | ||
9 | "WebEmailSend": "True", | ||
10 | "WebEmailValidCode": "True", | ||
11 | "WebForgetPassword": "True", | ||
12 | "WebLogin": "True", | ||
13 | "WebProductTypeList": "True", | ||
14 | "WebChannelList": "True", | ||
15 | "WebProductCreat": "True", | ||
16 | "WebProductList": "True", | ||
17 | "WebProductUpdate": "True", | ||
18 | "WebAdditionalTemplate": "True", | ||
19 | "WebAdditionalList": "True", | ||
20 | "WebAdditionalGet": "True", | ||
21 | "WebAdditionalEdit": "True", | ||
22 | "WebAdditionalDel": "True", | ||
23 | "WebOrganizationQuery": "True", | ||
24 | "WebOrganizationList": "True", | ||
25 | "WebOrganizationQueryBranch": "True", | ||
26 | "WebOrganizationQuerySubBranch": "True", | ||
27 | "WebOrganizationPositingSwitcher": "True", | ||
28 | "WebPopupFileList": "True", | ||
29 | "WebFileProductFuzzy": "False", | ||
30 | "WebFileUpload": "False", | ||
31 | "WebFileList": "False", | ||
32 | "WebFileDetail": "False", | ||
33 | "WebFileUpdate": "False", | ||
34 | "WebFileDelete": "False", | ||
35 | "WebAccountAddAPPUser": "False", | ||
36 | "WebAccountAppManage": "True", | ||
37 | "WebAccountImportAppUser": "True", | ||
38 | "WebSpeechTemplateConditionList": "True", | ||
39 | "WebSpeechTemplateCreatRule": "True", | ||
40 | "WebSpeechTemplateQueryList": "True", | ||
41 | "WebSpeechTemplateVariables": "True", | ||
42 | "WebSpeechTemplateOperators":"True", | ||
43 | "WebSpeechTemplateGetSpeech": "True", | ||
44 | "WebSpeechTemplatePhaseCreat": "True", | ||
45 | "WebSpeechTemplateUpdateStatus": "True", | ||
46 | "WebSpeechTemplateCopySpeech": "True", | ||
47 | "WebQualityAuditProportionConfigRuleAdd": "True", | ||
48 | "WebQualityAuditProportionConfigList": "True", | ||
49 | "WebQualityAuditProportionConfigDetail":"True", | ||
50 | "WebQualityAuditProportionConfigRuleModify": "True", | ||
51 | "SystemSendSms": "False", | ||
52 | "SystemResetPassword": "False", | ||
53 | "AppAuthLogin": "True", | ||
54 | "AppVersionUpdate": "True", | ||
55 | "AppHomeList": "True", | ||
56 | "AppListCount": "True", | ||
57 | "AppOrderQuotaDetail": "True", | ||
58 | "AppProductList": "True", | ||
59 | "AppOrderAdd": "True", | ||
60 | "AppOrderAddQuota": "True", | ||
61 | "AppOrderDetail": "True", | ||
62 | "AppFileList": "True", | ||
63 | "AppPhaseV3": "True", | ||
64 | "AppTtsV3": "True", | ||
65 | "AppOrderFace": "True", | ||
66 | "AppAuthSts": "True", | ||
67 | "AppOrderSubmit": "True", | ||
68 | "WebQualityAuditCanList": "True", | ||
69 | "WebQualityAuditDetail":"True", | ||
70 | "WebQualityAuditSubmit": "True", | ||
71 | "WebQualityAuditRecordHistory": "True", | ||
72 | "AppQualityAuditRejectedDetail": "True", | ||
73 | "WebOrderPhaseValidateV3": "False", | ||
74 | "WebOrderReportDown": "True", | ||
75 | "WebQualityAuditProportionConfigRuleDelete": "True", | ||
76 | "WebAllDelete": "False" | ||
77 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
config/瑞泰-config.json
0 → 100644
1 | { | ||
2 | "WebOrganizationGetTree": "True", | ||
3 | "WebAccountAddWebUser": "True", | ||
4 | "WebAccountManage": "True", | ||
5 | "WebAccountGetUserInfo": "True", | ||
6 | "WebAccountModifyUser": "True", | ||
7 | "WebAccountUserEditState": "True", | ||
8 | "WebAccountModifyPassword": "True", | ||
9 | "WebEmailSend": "True", | ||
10 | "WebEmailValidCode": "True", | ||
11 | "WebForgetPassword": "True", | ||
12 | "WebLogin": "True", | ||
13 | "WebProductTypeList": "True", | ||
14 | "WebChannelList": "True", | ||
15 | "WebProductCreat": "True", | ||
16 | "WebProductList": "True", | ||
17 | "WebProductUpdate": "True", | ||
18 | "WebAdditionalTemplate": "True", | ||
19 | "WebAdditionalList": "True", | ||
20 | "WebAdditionalGet": "True", | ||
21 | "WebAdditionalEdit": "True", | ||
22 | "WebAdditionalDel": "True", | ||
23 | "WebOrganizationQuery": "True", | ||
24 | "WebOrganizationList": "True", | ||
25 | "WebOrganizationQueryBranch": "True", | ||
26 | "WebOrganizationQuerySubBranch": "True", | ||
27 | "WebPopupFileList": "True", | ||
28 | "WebFileProductFuzzy": "True", | ||
29 | "WebFileUpload": "True", | ||
30 | "WebFileList": "True", | ||
31 | "WebFileDetail": "True", | ||
32 | "WebFileUpdate": "True", | ||
33 | "WebFileDelete": "True", | ||
34 | "WebAccountAddAPPUser": "True", | ||
35 | "WebAccountAppManage": "True", | ||
36 | "WebAccountImportAppUser": "True", | ||
37 | "WebSpeechTemplateConditionList": "True", | ||
38 | "WebSpeechTemplateCreatRule": "True", | ||
39 | "WebSpeechTemplateQueryList": "True", | ||
40 | "WebSpeechTemplateVariables": "True", | ||
41 | "WebSpeechTemplateOperators":"True", | ||
42 | "WebSpeechTemplateGetSpeech": "True", | ||
43 | "WebSpeechTemplatePhaseCreat": "True", | ||
44 | "WebSpeechTemplateUpdateStatus": "True", | ||
45 | "WebSpeechTemplateCopySpeech": "True", | ||
46 | "WebQualityAuditProportionConfigRuleAdd": "True", | ||
47 | "WebQualityAuditProportionConfigList": "True", | ||
48 | "WebQualityAuditProportionConfigDetail":"True", | ||
49 | "WebQualityAuditProportionConfigRuleModify": "True", | ||
50 | "SystemSendSms": "True", | ||
51 | "SystemResetPassword": "True", | ||
52 | "AppAuthLogin": "True", | ||
53 | "AppVersionUpdate": "True", | ||
54 | "AppHomeList": "True", | ||
55 | "AppListCount": "True", | ||
56 | "AppProductList": "True", | ||
57 | "AppOrderAdd": "True", | ||
58 | "AppOrderDetail": "True", | ||
59 | "AppFileList": "True", | ||
60 | "AppPhaseV3": "True", | ||
61 | "AppTtsV3": "True", | ||
62 | "AppOrderFace": "True", | ||
63 | "AppAuthSts": "True", | ||
64 | "AppOrderSubmit": "True", | ||
65 | "WebQualityAuditCanList": "True", | ||
66 | "WebQualityAuditDetail":"True", | ||
67 | "WebQualityAuditSubmit": "True", | ||
68 | "WebQualityAuditRecordHistory": "True", | ||
69 | "AppQualityAuditRejectedDetail": "True", | ||
70 | "WebOrderPhaseValidateV3": "False", | ||
71 | "WebOrderReportDown": "True", | ||
72 | "WebQualityAuditProportionConfigRuleDelete": "True", | ||
73 | "WebAllDelete": "True" | ||
74 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
data/.DS_Store
0 → 100644
No preview for this file type
data/excel/A_api_case.xlsx
0 → 100644
No preview for this file type
data/excel/B_api_case.xlsx
0 → 100644
No preview for this file type
data/excel/WEB_api_case.xlsx
0 → 100644
No preview for this file type
data/file/apitest.pdf
0 → 100644
No preview for this file type
data/order/add_order_type_1.json
0 → 100644
1 | { | ||
2 | "订单基本信息": { | ||
3 | "销售渠道": "顾销渠道", | ||
4 | "双录创建日期": "2021-08-18", | ||
5 | "保单类型": "非自保件", | ||
6 | "机构名称": "北京", | ||
7 | "投保单号": "apitest" | ||
8 | }, | ||
9 | "主险信息": [{ | ||
10 | "首期缴费金额": "12343", | ||
11 | "产品种类": "主险", | ||
12 | "缴费期限": "1年", | ||
13 | "产品类型": "分红险", | ||
14 | "产品名称": "都会传家 非吸烟体(2018)终身寿险(分红型)", | ||
15 | "缴费方式": "月缴", | ||
16 | "产品代码": "PWL04AQ", | ||
17 | "保险期限": "1年", | ||
18 | "被保人": [ | ||
19 | "自动化测试"] | ||
20 | }], | ||
21 | "被保人信息": [{ | ||
22 | "姓名": "自动化测试", | ||
23 | "证件类型": "护照", | ||
24 | "证件号码": "123456", | ||
25 | "职业": "内勤人员", | ||
26 | "居住地址": "地球", | ||
27 | "性别": "男", | ||
28 | "出生日期": "2000-01-01", | ||
29 | "被保人是投保人的": "本人", | ||
30 | "手机号码": "12345678901" | ||
31 | }], | ||
32 | "投保人信息": { | ||
33 | "姓名": "自动化测试", | ||
34 | "证件类型": "护照", | ||
35 | "证件号码": "123456", | ||
36 | "职业": "内勤人员", | ||
37 | "居住地址": "地球", | ||
38 | "性别": "男", | ||
39 | "出生日期": "2000-01-01", | ||
40 | "手机号码": "12345678901" | ||
41 | }, | ||
42 | "附加险信息": [{ | ||
43 | "首期缴费金额": "12345", | ||
44 | "产品种类": "附加险", | ||
45 | "缴费期限": "1年", | ||
46 | "产品类型": "人寿保险", | ||
47 | "产品名称": "附加都会卫士(2019)定期寿险", | ||
48 | "缴费方式": "月缴", | ||
49 | "产品代码": "FIR04AA", | ||
50 | "保险期限": "1年", | ||
51 | "被保人": [ | ||
52 | "自动化测试"] | ||
53 | }] | ||
54 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
data/order/add_order_type_2.json
0 → 100644
1 | { | ||
2 | "订单基本信息": { | ||
3 | "保单号": "202106002448538", | ||
4 | "保单类型": "非自保件" | ||
5 | }, | ||
6 | "投保人信息": { | ||
7 | "姓名": "韩超", | ||
8 | "证件号码": "110101199003077694", | ||
9 | "出生日期": "1990-03-07", | ||
10 | "证件类型": "身份证", | ||
11 | "性别": "男", | ||
12 | "投保人是被保人的": "父亲" | ||
13 | }, | ||
14 | "被保人信息": [ | ||
15 | { | ||
16 | "姓名": "哦哦", | ||
17 | "监护人姓名": "", | ||
18 | "证件号码": "110101200803071616", | ||
19 | "出生日期": "2008-03-07", | ||
20 | "证件类型": "身份证", | ||
21 | "性别": "男" | ||
22 | } | ||
23 | ], | ||
24 | "保险信息": [ | ||
25 | { | ||
26 | "保险期限": "1年", | ||
27 | "被保人": [ | ||
28 | "哦哦" | ||
29 | ], | ||
30 | "附加险": [], | ||
31 | "产品名称": "德华安顾奥特保重大疾病保险(2021版)", | ||
32 | "每期缴费金额": 3.4, | ||
33 | "缴费期限": "1年", | ||
34 | "缴费方式": "年缴" | ||
35 | } | ||
36 | ], | ||
37 | "taskId": "a1956529bc9d4f60bf0af257a9076444" | ||
38 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
data/order/中美大都会-mp4.json
0 → 100644
This diff is collapsed.
Click to expand it.
data/order/中美大都会.zip
0 → 100644
No preview for this file type
data/order/瑞泰-mp4.json
0 → 100644
This diff is collapsed.
Click to expand it.
data/order/瑞泰.zip
0 → 100644
No preview for this file type
data/order/身份证正面.jpg
0 → 100644

174 KB
report/report.html
0 → 100644
This diff could not be displayed because it is too large.
util/HandleDB.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/HandleExcel.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/HandleJenkins.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/HandleJson.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/HandleRedis.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/HandleSql.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/HandleTime.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/com_list.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/firstLogin.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/generate.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/getSuitCase.py
0 → 100644
This diff is collapsed.
Click to expand it.
util/log.py
0 → 100755
This diff is collapsed.
Click to expand it.
util/swaggerApi.py
0 → 100644
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment