238c925c by 付孟奇

初始化

0 parents
Showing 114 changed files with 7112 additions and 0 deletions
No preview for this file type
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
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
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)
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()
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)
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)
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)
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()
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)
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)
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)
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)
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()
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)
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)
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()
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)
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='接口调用失败!')
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)
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()
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()
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)
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)
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)
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)
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('接口异常')
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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('报表下载失败')
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
1 {
2 "re": {
3 "ossStsUsingPOST": {
4 "des": "获取鉴权",
5 "value": "/auth/sts"
6 },
7 "deleteFileDetailUsingPOST": {
8 "des": "deleteFileDetail",
9 "value": "/files/delete"
10 },
11 "getFileDetailUsingPOST": {
12 "des": "查看文件详情",
13 "value": "/files/detail"
14 },
15 "deleteFileDetailUsingPOST_1": {
16 "des": "deleteFileDetail",
17 "value": "/files/list"
18 },
19 "updateFileUsingPOST": {
20 "des": "updateFile",
21 "value": "/files/update"
22 },
23 "uploadFileUsingPOST": {
24 "des": "Web端上传文件",
25 "value": "/files/upload"
26 },
27 "fetchByAgeRangeUsingPOST": {
28 "des": "fetchByAgeRange",
29 "value": "/inner/ageTplFetchByProductCode"
30 },
31 "appOrderListUsingPOST": {
32 "des": "appOrderList",
33 "value": "/inner/appOrderList"
34 },
35 "appOrderListCountUsingPOST": {
36 "des": "appOrderListCount",
37 "value": "/inner/appOrderListCount"
38 },
39 "generateAuditReportExcelUsingPOST": {
40 "des": "generateAuditReportExcel",
41 "value": "/inner/create/auditReport"
42 },
43 "createOperationRecordsDOUsingPOST": {
44 "des": "createOperationRecordsDO",
45 "value": "/inner/createOperationRecordsDO"
46 },
47 "createOrderUsingPOST": {
48 "des": "createOrder",
49 "value": "/inner/createOrder"
50 },
51 "createOrderAuditDOUsingPOST": {
52 "des": "createOrderAuditDO",
53 "value": "/inner/createOrderAuditDO"
54 },
55 "createOrderPhaseV3UsingPOST": {
56 "des": "createOrderPhaseV3",
57 "value": "/inner/createOrderPhaseV3"
58 },
59 "facePairUsingPOST": {
60 "des": "facePair",
61 "value": "/inner/face-pair"
62 },
63 "fetchByIdUsingPOST": {
64 "des": "fetchById",
65 "value": "/inner/fetchById"
66 },
67 "fetchByObiIdUsingPOST": {
68 "des": "fetchByObiId",
69 "value": "/inner/fetchByObiId"
70 },
71 "fetchByOrderIdUsingPOST": {
72 "des": "fetchByOrderId",
73 "value": "/inner/fetchByOrderId"
74 },
75 "fetchByOrderIdOrSerialNoUsingPOST": {
76 "des": "fetchByOrderIdOrSerialNo",
77 "value": "/inner/fetchByOrderIdOrSerialNo"
78 },
79 "fetchByOrderNumAndFlagUsingPOST": {
80 "des": "fetchByOrderNumAndFlag",
81 "value": "/inner/fetchByOrderNumAndFlag"
82 },
83 "fetchCountBySelfNoAndRecordTypeUsingPOST": {
84 "des": "fetchCountBySelfNoAndRecordType",
85 "value": "/inner/fetchCountBySelfNoAndRecordType"
86 },
87 "fetchOrderBaseInfoUsingPOST": {
88 "des": "fetchOrderBaseInfo",
89 "value": "/inner/fetchOrder"
90 },
91 "fetchUsingPOST": {
92 "des": "fetch",
93 "value": "/inner/fetchOrderBaseInfoDo"
94 },
95 "findByOrderRecordIdUsingPOST": {
96 "des": "findByOrderRecordId",
97 "value": "/inner/findByOrderRecordId"
98 },
99 "findByProductTypeUsingPOST": {
100 "des": "findByProductType",
101 "value": "/inner/findByProductType"
102 },
103 "getAllVariablesForPaperUsingGET": {
104 "des": "getAllVariablesForPaper",
105 "value": "/inner/getAllVariablesForPaper"
106 },
107 "getVariablesWithoutProductAttrsUsingGET": {
108 "des": "getVariablesWithoutProductAttrs",
109 "value": "/inner/getAllVariablesWithoutProductAttrs"
110 },
111 "getByOrderIdAndLifeUsingPOST": {
112 "des": "getByOrderIdAndLife",
113 "value": "/inner/getByOrderIdAndLife"
114 },
115 "getByOrderIdAndLifeCycleBiggerThanUsingPOST": {
116 "des": "getByOrderIdAndLifeCycleBiggerThan",
117 "value": "/inner/getByOrderIdAndLifeCycleBiggerThan"
118 },
119 "getOrderGateWayByTaskIdUsingPOST": {
120 "des": "getOrderGateWayByTaskId",
121 "value": "/inner/getOrderGateWayByTaskId"
122 },
123 "getOrderIdNameUsingGET": {
124 "des": "getOrderIdName",
125 "value": "/inner/getOrderIdName"
126 },
127 "listUsingPOST_1": {
128 "des": "list",
129 "value": "/inner/market/channel"
130 },
131 "marketChannelByChannelNameUsingPOST": {
132 "des": "marketChannelByChannelName",
133 "value": "/inner/marketChannelByChannelName"
134 },
135 "notifyRemoteUsingPOST": {
136 "des": "notifyRemote",
137 "value": "/inner/notifyRemote"
138 },
139 "getAsrTxtInfosUsingPOST": {
140 "des": "getAsrTxtInfos",
141 "value": "/inner/order/asrTxtInfos"
142 },
143 "getOrderSpeechBigPhaseListUsingPOST": {
144 "des": "getOrderSpeechBigPhaseList",
145 "value": "/inner/order/orderSpeechBigPhaseList"
146 },
147 "orderSpeechLittlePhaseListIgnoreStatusUsingPOST": {
148 "des": "orderSpeechLittlePhaseListIgnoreStatus",
149 "value": "/inner/order/orderSpeechLittlePhaseList"
150 },
151 "getOrderSpeechLittlePhaseListUsingPOST": {
152 "des": "getOrderSpeechLittlePhaseList",
153 "value": "/inner/order/submitLittlePhaseDetailsIgnoreStatus"
154 },
155 "orderCancelUsingPOST": {
156 "des": "orderCancel",
157 "value": "/inner/orderCancel"
158 },
159 "orderCodeFileCreateUsingPOST": {
160 "des": "orderCodeFileCreate",
161 "value": "/inner/orderCodeFileCreate"
162 },
163 "orderCodeFileFetchByProductCodeUsingPOST": {
164 "des": "orderCodeFileFetchByProductCode",
165 "value": "/inner/orderCodeFileFetchByProductCode"
166 },
167 "orderCodeFileGetRemoteFileListUsingPOST": {
168 "des": "orderCodeFileGetRemoteFileList",
169 "value": "/inner/orderCodeFileGetRemoteFileList"
170 },
171 "orderCodeFileRemoveByProductCodeUsingPOST": {
172 "des": "orderCodeFileRemoveByProductCode",
173 "value": "/inner/orderCodeFileRemoveByProductCode"
174 },
175 "orderCreateConfirmUsingPOST": {
176 "des": "orderCreateConfirm",
177 "value": "/inner/orderCreateConfirm"
178 },
179 "orderCreateInfoCreateUsingPOST": {
180 "des": "orderCreateInfoCreate",
181 "value": "/inner/orderCreateInfoCreate"
182 },
183 "orderCreateInfoFetchByTaskIdUsingPOST": {
184 "des": "orderCreateInfoFetchByTaskId",
185 "value": "/inner/orderCreateInfoFetchByTaskId"
186 },
187 "orderDeleteUsingPOST": {
188 "des": "orderDelete",
189 "value": "/inner/orderDelete"
190 },
191 "orderFileCreateUsingPOST": {
192 "des": "orderFileCreate",
193 "value": "/inner/orderFileCreate"
194 },
195 "orderFileFetchByIdUsingPOST": {
196 "des": "orderFileFetchById",
197 "value": "/inner/orderFileFetchById"
198 },
199 "orderFileFetchByIdAndMd5AndNameUsingPOST": {
200 "des": "orderFileFetchByIdAndMd5AndName",
201 "value": "/inner/orderFileFetchByIdAndMd5AndName"
202 },
203 "orderFileFetchOssUrlByIdUsingPOST": {
204 "des": "orderFileFetchOssUrlById",
205 "value": "/inner/orderFileFetchOssUrlById"
206 },
207 "orderFileGetFilePathConfigDOUsingPOST": {
208 "des": "orderFileGetFilePathConfigDO",
209 "value": "/inner/orderFileGetFilePathConfigDO"
210 },
211 "orderFileQueryRemoteFileListUsingPOST": {
212 "des": "orderFileQueryRemoteFileList",
213 "value": "/inner/orderFileQueryRemoteFileList"
214 },
215 "orderFileRemoveByObiIdAndNameUsingPOST": {
216 "des": "orderFileRemoveByObiIdAndName",
217 "value": "/inner/orderFileRemoveByObiIdAndName"
218 },
219 "orderFileremoveByIdUsingPOST": {
220 "des": "orderFileremoveById",
221 "value": "/inner/orderFileremoveById"
222 },
223 "orderGatewayCreateUsingPOST": {
224 "des": "orderGatewayCreate",
225 "value": "/inner/orderGatewayCreate"
226 },
227 "orderStatusInsertSelectiveUsingPOST": {
228 "des": "orderStatusInsertSelective",
229 "value": "/inner/orderStatusInsertSelective"
230 },
231 "orderStatusSelectWaittingStatusByIdentifierUsingPOST": {
232 "des": "orderStatusSelectWaittingStatusByIdentifier",
233 "value": "/inner/orderStatusSelectWaittingStatusByIdentifier"
234 },
235 "orderStatusUpdateByPrimaryKeySelectiveUsingPOST": {
236 "des": "orderStatusUpdateByPrimaryKeySelective",
237 "value": "/inner/orderStatusUpdateByPrimaryKeySelective"
238 },
239 "orderSubmitWithCheckOrderUsingPOST_1": {
240 "des": "orderSubmitWithCheckOrder",
241 "value": "/inner/orderSubmitWithCheckOrder"
242 },
243 "orderUploadFileRemoveByObiIdAndMD5AndNameUsingPOST": {
244 "des": "orderUploadFileRemoveByObiIdAndMD5AndName",
245 "value": "/inner/orderUploadFileRemoveByObiIdAndMD5AndName"
246 },
247 "fetchByProductCodeUsingPOST": {
248 "des": "fetchByProductCode",
249 "value": "/inner/pLibraryFetchByProductCode"
250 },
251 "phaseContentV3UsingPOST": {
252 "des": "phaseContentV3",
253 "value": "/inner/phaseContentV3"
254 },
255 "productNameSelectUsingPOST_1": {
256 "des": "productNameSelect",
257 "value": "/inner/productNameSelect"
258 },
259 "productNameSelectV2UsingPOST": {
260 "des": "productNameSelectV2",
261 "value": "/inner/productNameSelectV2"
262 },
263 "queryByIdToOrderSpeechBigPhaseDOUsingPOST": {
264 "des": "queryByIdToOrderSpeechBigPhaseDO",
265 "value": "/inner/queryByIdToOrderSpeechBigPhaseDO"
266 },
267 "queryByObiIdUsingPOST": {
268 "des": "queryByObiId",
269 "value": "/inner/queryByObiIdBigPhaseDetailDo"
270 },
271 "queryIdAndNameByIdListUsingPOST": {
272 "des": "queryIdAndNameByIdList",
273 "value": "/inner/queryIdAndNameByIdList"
274 },
275 "queryOrderByIdAndLifeCycleUsingPOST": {
276 "des": "queryOrderByIdAndLifeCycle",
277 "value": "/inner/queryOrderByIdAndLifeCycle"
278 },
279 "queryReportOrderBaseListUsingPOST": {
280 "des": "queryReportOrderBaseList",
281 "value": "/inner/queryReportOrderBaseList"
282 },
283 "queryReportVOByOrderRecordIdOrderByNumUsingPOST": {
284 "des": "queryReportVOByOrderRecordIdOrderByNum",
285 "value": "/inner/queryReportVOByOrderRecordIdOrderByNum"
286 },
287 "queryTtsContentOsbpIdByObiIdUsingPOST": {
288 "des": "queryTtsContentOsbpIdByObiId",
289 "value": "/inner/queryTtsContentOsbpIdByObiId"
290 },
291 "matchRemoteCommunicationIdUsingPOST": {
292 "des": "matchRemoteCommunicationId",
293 "value": "/inner/remote/match/communicationId"
294 },
295 "remoteCreateUsingPOST": {
296 "des": "remoteCreate",
297 "value": "/inner/remote/remoteCreate"
298 },
299 "remoteFetchByAgentChannelIdUsingPOST": {
300 "des": "remoteFetchByAgentChannelId",
301 "value": "/inner/remote/remoteFetchByAgentChannelId"
302 },
303 "remoteFetchByCustomerChannelIdUsingPOST": {
304 "des": "remoteFetchByCustomerChannelId",
305 "value": "/inner/remote/remoteFetchByCustomerChannelId"
306 },
307 "remoteFetchByIdUsingPOST": {
308 "des": "remoteFetchById",
309 "value": "/inner/remote/remoteFetchById"
310 },
311 "remoteFetchByObiIdUsingPOST": {
312 "des": "remoteFetchByObiId",
313 "value": "/inner/remote/remoteFetchByObiId"
314 },
315 "remoteRemoveDiscardAgentRecordUsingPOST": {
316 "des": "remoteRemoveDiscardAgentRecord",
317 "value": "/inner/remote/remoteRemoveDiscardAgentRecord"
318 },
319 "remoteUpdateUsingPOST": {
320 "des": "remoteUpdate",
321 "value": "/inner/remote/remoteUpdate"
322 },
323 "remoteUpdateAgentVideoUrlUsingPOST": {
324 "des": "remoteUpdateAgentVideoUrl",
325 "value": "/inner/remote/remoteUpdateAgentVideoUrl"
326 },
327 "remoteUpdateCustomerCommunicationInfoUsingPOST": {
328 "des": "remoteUpdateCustomerCommunicationInfo",
329 "value": "/inner/remote/remoteUpdateCustomerCommunicationInfo"
330 },
331 "remoteUpdateCustomerVideoUrlUsingPOST": {
332 "des": "remoteUpdateCustomerVideoUrl",
333 "value": "/inner/remote/remoteUpdateCustomerVideoUrl"
334 },
335 "updateMixedFlowCompletedUsingPOST": {
336 "des": "updateMixedFlowCompleted",
337 "value": "/inner/remote/updateMixedFlowCompleted"
338 },
339 "remoteOrderListUsingPOST": {
340 "des": "remoteOrderList",
341 "value": "/inner/remoteOrderList"
342 },
343 "remoteOrderSubmitUsingPOST": {
344 "des": "remoteOrderSubmit",
345 "value": "/inner/remoteOrderSubmit"
346 },
347 "remoteOrderSubmitWithCheckOrderUsingPOST": {
348 "des": "remoteOrderSubmitWithCheckOrder",
349 "value": "/inner/remoteOrderSubmitWithCheckOrder"
350 },
351 "remotePhaseContentV3UsingPOST": {
352 "des": "remotePhaseContentV3",
353 "value": "/inner/remotePhaseContentV3"
354 },
355 "selectForcePassSpeechCountUsingPOST": {
356 "des": "selectForcePassSpeechCount",
357 "value": "/inner/selectForcePassSpeechCount"
358 },
359 "getSignaturePictureUsingGET": {
360 "des": "saveSignaturePicture",
361 "value": "/inner/signature/picture"
362 },
363 "saveSignaturePictureUsingPOST": {
364 "des": "saveSignaturePicture",
365 "value": "/inner/signature/picture"
366 },
367 "orderSubmitUsingPOST_1": {
368 "des": "orderSubmit",
369 "value": "/inner/submitOrder"
370 },
371 "synthesizerZipV3UsingPOST": {
372 "des": "synthesizerZipV3",
373 "value": "/inner/synthesizerZipV3"
374 },
375 "updateAuditLifeCycleAndCountByIdUsingPOST": {
376 "des": "updateAuditLifeCycleAndCountById",
377 "value": "/inner/updateAuditLifeCycleAndCountById"
378 },
379 "updateAuditSourceUsingPOST": {
380 "des": "updateAuditSource",
381 "value": "/inner/updateAuditSource"
382 },
383 "updateLifeCycleUsingPOST": {
384 "des": "updateLifeCycle",
385 "value": "/inner/updateLifeCycle"
386 },
387 "updateLockOrder1ByIdLifeCycle21LockOrder1UsingPOST": {
388 "des": "updateLockOrder1ByIdLifeCycle21LockOrder1",
389 "value": "/inner/updateLockOrder1ByIdLifeCycle21LockOrder1"
390 },
391 "updateLockOrder1ByIdModifyLockOrder1UsingPOST": {
392 "des": "updateLockOrder1ByIdModifyLockOrder1",
393 "value": "/inner/updateLockOrder1ByIdModifyLockOrder1"
394 },
395 "updateLockOrder2ByIdUsingPOST": {
396 "des": "updateLockOrder2ById",
397 "value": "/inner/updateLockOrder2ById"
398 },
399 "updateOrderBaseInfoDOUsingPOST": {
400 "des": "updateOrderBaseInfoDO",
401 "value": "/inner/updateOrderBaseInfoDO"
402 },
403 "orderSubmitWithCheckOrderUsingPOST": {
404 "des": "orderSubmitWithCheckOrder",
405 "value": "/order/check-submit"
406 },
407 "uploadFileUsingPOST_1": {
408 "des": "uploadFile",
409 "value": "/order/file/upload"
410 },
411 "orderSubmitUsingPOST": {
412 "des": "orderSubmit",
413 "value": "/order/submit"
414 },
415 "resourcesUsingGET": {
416 "des": "resources",
417 "value": "/ossResourcesGain/resources"
418 },
419 "resourcesUsingHEAD": {
420 "des": "resources",
421 "value": "/ossResourcesGain/resources"
422 },
423 "resourcesUsingPOST": {
424 "des": "resources",
425 "value": "/ossResourcesGain/resources"
426 },
427 "resourcesUsingPUT": {
428 "des": "resources",
429 "value": "/ossResourcesGain/resources"
430 },
431 "resourcesUsingDELETE": {
432 "des": "resources",
433 "value": "/ossResourcesGain/resources"
434 },
435 "resourcesUsingOPTIONS": {
436 "des": "resources",
437 "value": "/ossResourcesGain/resources"
438 },
439 "resourcesUsingPATCH": {
440 "des": "resources",
441 "value": "/ossResourcesGain/resources"
442 },
443 "commonListUsingPOST": {
444 "des": "commonList",
445 "value": "/product/common/list"
446 },
447 "createAdditionalTemplateUsingPOST": {
448 "des": "创建附加属性模版",
449 "value": "/product/library/create/additional/template"
450 },
451 "createProductUsingPOST": {
452 "des": "创建产品",
453 "value": "/product/library/create/product"
454 },
455 "delAdditionalTemplateUsingPOST": {
456 "des": "删除某个附加属性的模版,以及所有产品的此附加属性值",
457 "value": "/product/library/del/additional/template"
458 },
459 "editsAdditionalValueUsingPOST": {
460 "des": "编辑某个产品的某个附加属性值",
461 "value": "/product/library/edits/additional/value"
462 },
463 "editsProductUsingPOST": {
464 "des": "编辑产品以及产品的附加属性值",
465 "value": "/product/library/edits/product"
466 },
467 "getProductUsingGET": {
468 "des": "getProduct",
469 "value": "/product/library/fuzzy"
470 },
471 "getAdditionalAllValueUsingPOST": {
472 "des": "获取某个附加属性的所有产品的所有附加属性值",
473 "value": "/product/library/get/additional/all/value"
474 },
475 "getProductUsingPOST": {
476 "des": "获取某个产品详情",
477 "value": "/product/library/get/product"
478 },
479 "importExcelUsingPOST": {
480 "des": "importExcel",
481 "value": "/product/library/import/excel"
482 },
483 "queryConditionUsingPOST": {
484 "des": "查询产品库列表下拉框选择条件",
485 "value": "/product/library/query/condition/list"
486 },
487 "queryProductLibraryListUsingPOST": {
488 "des": "查询产品库列表",
489 "value": "/product/library/query/list"
490 },
491 "queryProductAttributesListUsingPOST": {
492 "des": "查询所有附加属性列表",
493 "value": "/product/library/query/product/attributes/list"
494 },
495 "updateProductStatusUsingPOST": {
496 "des": "更新产品上下架状态",
497 "value": "/product/library/update/product/status"
498 },
499 "listUsingPOST": {
500 "des": "list",
501 "value": "/product/list"
502 },
503 "productNameSelectUsingPOST": {
504 "des": "productNameSelect",
505 "value": "/product/name/select"
506 },
507 "phaseEditUsingPOST": {
508 "des": "phaseEdit",
509 "value": "/product/phase/get"
510 },
511 "phaseTransferUsingPOST": {
512 "des": "phaseTransfer",
513 "value": "/product/phase/transfer"
514 },
515 "phaseUpdateUsingPOST": {
516 "des": "phaseUpdate",
517 "value": "/product/phase/update"
518 },
519 "upOrdownUsingPOST": {
520 "des": "upOrdown",
521 "value": "/product/store/{action}"
522 },
523 "templateListUsingPOST": {
524 "des": "产品类型列表",
525 "value": "/product/type/select/list"
526 },
527 "getAllProductTypesUsingGET": {
528 "des": "getAllProductTypes",
529 "value": "/product/types"
530 },
531 "copySpeechTemplateUsingPOST": {
532 "des": "复制话术模版",
533 "value": "/speech/template/copy/speech"
534 },
535 "createSpeechRuleUsingPOST": {
536 "des": "创建话术模板",
537 "value": "/speech/template/create/rule"
538 },
539 "getPoupFilesUsingPOST": {
540 "des": "getPoupFiles",
541 "value": "/speech/template/get/popupfilelist"
542 },
543 "getSignatureObjsUsingPOST": {
544 "des": "getSignatureObjs",
545 "value": "/speech/template/get/signatureObjs"
546 },
547 "getSpeechTemplateUsingPOST": {
548 "des": "话术预览/话术编辑 (获取话术)",
549 "value": "/speech/template/get/speech"
550 },
551 "getVerificationMethodsUsingPOST": {
552 "des": "getVerificationMethods",
553 "value": "/speech/template/get/verificationMethods"
554 },
555 "getOperatorsUsingGET": {
556 "des": "getOperators",
557 "value": "/speech/template/operators"
558 },
559 "createSpeechPhaseUsingPOST": {
560 "des": "创建话术模板环节(话术大环节、小环节)",
561 "value": "/speech/template/phase/create"
562 },
563 "querySpeechTakeEffectConditionUsingPOST": {
564 "des": "获取话术生效条件",
565 "value": "/speech/template/query/condition/list"
566 },
567 "querySpeechTemplateListUsingPOST": {
568 "des": "话术模版库列表",
569 "value": "/speech/template/query/list"
570 },
571 "getVariablesUsingGET": {
572 "des": "getVariables",
573 "value": "/speech/template/speech/variables"
574 },
575 "updateSpeechStatusUsingPOST": {
576 "des": "更新话术状态: 上架、下架",
577 "value": "/speech/template/update/speech/status"
578 }
579 },
580 "cl": {
581 "appUpdateUsingPOST": {
582 "des": "A端版本更新",
583 "value": "/app/version/update"
584 },
585 "accountActivateUsingPOST": {
586 "des": "新建账号且激活",
587 "value": "/auth/account/activate"
588 },
589 "loginUsingPOST": {
590 "des": "app登录",
591 "value": "/auth/login"
592 },
593 "logoutUsingPOST": {
594 "des": "统一退出登录",
595 "value": "/auth/logout"
596 },
597 "loginUsingPOST_1": {
598 "des": "app-B端登录",
599 "value": "/auth/remote/login"
600 },
601 "ossStsUsingPOST": {
602 "des": "获取鉴权",
603 "value": "/auth/sts"
604 },
605 "addOrderUsingPOST": {
606 "des": "创建订单接口",
607 "value": "/order/add"
608 },
609 "orderCreateConfirmUsingPOST": {
610 "des": "orderCreateConfirm",
611 "value": "/order/add/confirm"
612 },
613 "addQuotaUsingPOST": {
614 "des": "创建保全订单接口",
615 "value": "/order/addQuota"
616 },
617 "agentFileListUsingPOST": {
618 "des": "A端文件列表",
619 "value": "/order/agent/file/list"
620 },
621 "customerFileListUsingPOST": {
622 "des": "B端文件列表",
623 "value": "/order/customer/file/list"
624 },
625 "deleteOrderUsingPOST": {
626 "des": "删除订单",
627 "value": "/order/delete"
628 },
629 "deleteFileUsingPOST": {
630 "des": "删除文件",
631 "value": "/order/delete/file"
632 },
633 "detailUsingPOST": {
634 "des": "订单详情接口",
635 "value": "/order/detail"
636 },
637 "downloadFileUsingPOST": {
638 "des": "下载文件",
639 "value": "/order/download/file"
640 },
641 "facePairUsingPOST": {
642 "des": "人脸比对",
643 "value": "/order/face-pair"
644 },
645 "handAddOrderUsingPOST": {
646 "des": "handAddOrder",
647 "value": "/order/hand/add"
648 },
649 "listUsingPOST": {
650 "des": "app订单列表",
651 "value": "/order/list"
652 },
653 "listCountUsingPOST": {
654 "des": "app首页展示数量",
655 "value": "/order/list/count"
656 },
657 "orCodeUsingPOST": {
658 "des": "二维码扫码接口",
659 "value": "/order/or/code"
660 },
661 "phaseContentV3UsingPOST": {
662 "des": "话术3.0获取话术内容",
663 "value": "/order/phase/content/v3"
664 },
665 "phaseContentAllV3UsingPOST": {
666 "des": "phaseContentAllV3",
667 "value": "/order/phase/fileAndContent/all"
668 },
669 "quotaDetailUsingPOST": {
670 "des": "quotaDetail",
671 "value": "/order/quotaDetail"
672 },
673 "orderReport3UsingGET": {
674 "des": "报表下载",
675 "value": "/order/report3"
676 },
677 "orderCancelUsingPOST": {
678 "des": "撤单",
679 "value": "/order/status"
680 },
681 "orderCancelUsingPUT": {
682 "des": "撤单",
683 "value": "/order/status"
684 },
685 "orderSubmitUsingPOST": {
686 "des": "订单录制完成提交接口",
687 "value": "/order/submit"
688 },
689 "synthesizerZipV3UsingPOST": {
690 "des": "话术3.0获取话术音频",
691 "value": "/order/tts/v3"
692 },
693 "productNameSelectUsingPOST": {
694 "des": "productNameSelect",
695 "value": "/product/hand/list"
696 },
697 "productNameSelectV2UsingPOST": {
698 "des": "productNameSelectV2",
699 "value": "/product/hand/list/v2"
700 },
701 "rejectedDetailUsingPOST": {
702 "des": "app的拒绝详情",
703 "value": "/quality/audit/rejected/detail"
704 },
705 "agentAliveUsingPOST": {
706 "des": "agentAlive",
707 "value": "/remote/agent/alive"
708 },
709 "agentGetRoomInfoUsingPOST": {
710 "des": "agentGetRoomInfo",
711 "value": "/remote/agent/get/room-info"
712 },
713 "agentJoinRoomSuccUsingPOST": {
714 "des": "agentJoinRoomSucc",
715 "value": "/remote/agent/join-room/success"
716 },
717 "agentLeaveRoomUsingPOST": {
718 "des": "agentLeaveRoom",
719 "value": "/remote/agent/leave-room"
720 },
721 "selectSceneUsingPOST": {
722 "des": "selectScene",
723 "value": "/remote/app/selectScene"
724 },
725 "remoteAppUpdateUsingPOST": {
726 "des": "B端版本更新",
727 "value": "/remote/app/version/update"
728 },
729 "callbackUsingPOST": {
730 "des": "callback",
731 "value": "/remote/callback"
732 },
733 "customerGetRoomInfoUsingPOST": {
734 "des": "customerGetRoomInfo",
735 "value": "/remote/customer/get/room-info"
736 },
737 "getUserSigUsingPOST": {
738 "des": "getUserSig",
739 "value": "/remote/getUserSig"
740 },
741 "notifyRemoteUsingPOST": {
742 "des": "A端邀请B端短信",
743 "value": "/remote/notify/remote"
744 },
745 "recordBeginUsingPOST": {
746 "des": "recordBegin",
747 "value": "/remote/record/begin"
748 },
749 "recordFinishUsingPOST": {
750 "des": "recordFinish",
751 "value": "/remote/record/finish"
752 },
753 "remoteOrderListUsingPOST": {
754 "des": "远程端双录app订单列表",
755 "value": "/remote/remote/list"
756 },
757 "remotePhaseContentV3UsingPOST": {
758 "des": "远程app话术获取",
759 "value": "/remote/remote/phase/content/v3"
760 },
761 "uploadFileUsingPOST": {
762 "des": "uploadFile",
763 "value": "/remote/upload/file"
764 },
765 "validOrderUsingPOST": {
766 "des": "validOrder",
767 "value": "/remote/verifyLinkValidity"
768 },
769 "saveSignatureFacePictureUsingPOST": {
770 "des": "saveSignatureFacePicture",
771 "value": "/signature/saveSignatureFacePicture"
772 },
773 "signUsingPOST": {
774 "des": "sign",
775 "value": "/signature/sign"
776 },
777 "statusUsingPOST": {
778 "des": "status",
779 "value": "/signature/status"
780 },
781 "appUpdateNewUsingPOST": {
782 "des": "A端版本更新",
783 "value": "/system/app/version/update"
784 },
785 "queryProfessionListUsingPOST": {
786 "des": "职业信息集合查询",
787 "value": "/system/profession/list"
788 },
789 "remoteAppUpdateNewUsingPOST": {
790 "des": "B端版本更新",
791 "value": "/system/remote/app/version/update"
792 },
793 "forgPasswordUsingPOST": {
794 "des": "重置密码",
795 "value": "/system/reset/password"
796 },
797 "sendSmsUsingPOST": {
798 "des": "发送短信",
799 "value": "/system/send/sms"
800 },
801 "uploadProductCodeFileUsingPOST": {
802 "des": "根据产品编号配置文件",
803 "value": "/upload/product-code-file"
804 }
805 },
806 "qa": {
807 "submitAuditUsingPOST_1": {
808 "des": "submitAudit",
809 "value": "/inner/createSubmitQualityAuditInfo"
810 },
811 "getRecordByOrderRecordIdOrderByCreateTimeUsingPOST": {
812 "des": "getRecordByOrderRecordIdOrderByCreateTime",
813 "value": "/inner/getRecordByOrderRecordIdOrderByCreateTime"
814 },
815 "matchRuleUsingPOST": {
816 "des": "matchRule",
817 "value": "/inner/matchRule"
818 },
819 "getRectPointsUsingPOST": {
820 "des": "getRectPoints",
821 "value": "/inner/qualityQueryByOrderRecordId"
822 },
823 "getRejectedDetailUsingPOST": {
824 "des": "getRejectedDetail",
825 "value": "/inner/qualityRejectedDetail"
826 },
827 "queryByOrderRecordIdUsingPOST": {
828 "des": "queryByOrderRecordId",
829 "value": "/inner/queryByOrderRecordId"
830 },
831 "getAuditAllListUsingPOST": {
832 "des": "全部订单列表",
833 "value": "/quality/audit/all/list"
834 },
835 "getAuditCanListUsingPOST": {
836 "des": "可质检列表",
837 "value": "/quality/audit/can/list"
838 },
839 "comparisonConclusionUsingPOST": {
840 "des": "comparisonConclusion",
841 "value": "/quality/audit/compare"
842 },
843 "confirmAuditUsingPOST": {
844 "des": "复核质检同意接口",
845 "value": "/quality/audit/confirm"
846 },
847 "resetUsingGET": {
848 "des": "reset",
849 "value": "/quality/audit/dataTrans/reset"
850 },
851 "transRulesUsingGET": {
852 "des": "transRules",
853 "value": "/quality/audit/dataTrans/transRules"
854 },
855 "transStatisticsUsingGET": {
856 "des": "transStatistics",
857 "value": "/quality/audit/dataTrans/transStatistics"
858 },
859 "infoDetailUsingPOST": {
860 "des": "获取质检详情",
861 "value": "/quality/audit/detail"
862 },
863 "addProportionRuleUsingPOST": {
864 "des": "质检比列列表:新增规则",
865 "value": "/quality/audit/proportion/config/add/rule"
866 },
867 "deleteProportionRuleUsingPOST": {
868 "des": "质检比列列表:删除规则",
869 "value": "/quality/audit/proportion/config/delete/rule"
870 },
871 "getProportionRuleDetailUsingPOST": {
872 "des": "提供质检比例规则详情",
873 "value": "/quality/audit/proportion/config/detail"
874 },
875 "proportionListUsingPOST": {
876 "des": "提供质检比例规则列表",
877 "value": "/quality/audit/proportion/config/list"
878 },
879 "modifyProportionRuleUsingPOST": {
880 "des": "质检比列列表:修改规则",
881 "value": "/quality/audit/proportion/config/modify/rule"
882 },
883 "getAuditHistoriesUsingPOST": {
884 "des": "审核历史记录",
885 "value": "/quality/audit/record/history"
886 },
887 "submitAuditUsingPOST": {
888 "des": "待整改点提交",
889 "value": "/quality/audit/submit"
890 },
891 "addRuleUsingPOST": {
892 "des": "新增规则",
893 "value": "/quality/audit/v2/proportion/config/add/rule"
894 },
895 "deleteRuleUsingPOST": {
896 "des": "删除规则",
897 "value": "/quality/audit/v2/proportion/config/delete/rule"
898 },
899 "getConfigDetailV2UsingGET": {
900 "des": "根据当前规则,获取规则详情(编辑/查看时)",
901 "value": "/quality/audit/v2/proportion/config/detail/{ruleId}"
902 },
903 "getRuleListUsingPOST": {
904 "des": "提供质检比例规则列表",
905 "value": "/quality/audit/v2/proportion/config/list"
906 },
907 "modifyRuleUsingPOST": {
908 "des": "修改规则",
909 "value": "/quality/audit/v2/proportion/config/modify/rule"
910 },
911 "createSubmitQualityAuditInfoUnloginUsingPOST": {
912 "des": "createSubmitQualityAuditInfoUnlogin",
913 "value": "/quality/audit/v2/quality/audit/record-unlogin"
914 }
915 },
916 "sys": {
917 "addAppUserUsingPOST": {
918 "des": "增加app账号",
919 "value": "/account/add/app/user"
920 },
921 "addUserUsingPOST": {
922 "des": "添加web账号",
923 "value": "/account/addUser"
924 },
925 "getUserInfoUsingPOST": {
926 "des": "根据用户名获取用户信息",
927 "value": "/account/getUserInfo"
928 },
929 "importAppUserUsingPOST": {
930 "des": "导入app账号",
931 "value": "/account/import/app/user"
932 },
933 "modifyUserUsingPOST": {
934 "des": "web端修改账号",
935 "value": "/account/modifyUser"
936 },
937 "appManageUsingPOST": {
938 "des": "app账户信息查询",
939 "value": "/app/account/manage"
940 },
941 "checkValidateCodeUsingPOST": {
942 "des": "校验验证码",
943 "value": "/checkValidateCode"
944 },
945 "codeLoginUsingPOST": {
946 "des": "手机验证码登录",
947 "value": "/codeLogin"
948 },
949 "sendValidCodeEmailUsingPOST": {
950 "des": "发送邮箱验证码",
951 "value": "/email/sendValidCode"
952 },
953 "validEmailCodeUsingPOST": {
954 "des": "验证邮箱验证码",
955 "value": "/email/validEmailCode"
956 },
957 "accountActivateUsingPOST": {
958 "des": "accountActivate",
959 "value": "/inner/account/activate"
960 },
961 "appUpdateUsingPOST": {
962 "des": "appUpdate",
963 "value": "/inner/app/version/update"
964 },
965 "createUserUsingPOST": {
966 "des": "createUser",
967 "value": "/inner/createUser"
968 },
969 "loginUsingPOST": {
970 "des": "login",
971 "value": "/inner/login"
972 },
973 "logoutUsingPOST": {
974 "des": "logout",
975 "value": "/inner/logout"
976 },
977 "getLeafOrgesUsingPOST": {
978 "des": "getLeafOrges",
979 "value": "/inner/org/getLeafOrgs"
980 },
981 "getOrgListUsingPOST": {
982 "des": "getOrgList",
983 "value": "/inner/org/getList"
984 },
985 "getOrgTreeUsingPOST": {
986 "des": "getOrgTree",
987 "value": "/inner/org/getTree"
988 },
989 "getOrgTreeRootUsingPOST": {
990 "des": "getOrgTreeRoot",
991 "value": "/inner/org/getTreeRoot"
992 },
993 "queryOrganizationLevelVOUsingPOST": {
994 "des": "queryOrganizationLevelVO",
995 "value": "/inner/organization/all"
996 },
997 "getAllOrgIdsUsingPOST": {
998 "des": "getAllOrgIds",
999 "value": "/inner/organization/allorg/ids"
1000 },
1001 "getAllOrganizationOrderLevelUsingPOST": {
1002 "des": "getAllOrganizationOrderLevel",
1003 "value": "/inner/organization/allorg/orderlevel"
1004 },
1005 "queryOrganizationLevelVOUsingPOST_1": {
1006 "des": "queryOrganizationLevelVO",
1007 "value": "/inner/organization/bybranchId"
1008 },
1009 "queryOrganizationByCodeUsingPOST": {
1010 "des": "queryOrganizationByCode",
1011 "value": "/inner/organization/bycode"
1012 },
1013 "queryOrganizationByNameUsingPOST": {
1014 "des": "queryOrganizationByName",
1015 "value": "/inner/organization/byname"
1016 },
1017 "queryOrganizationByIdUsingPOST": {
1018 "des": "queryOrganizationById",
1019 "value": "/inner/organization/byoid"
1020 },
1021 "getChildrenOrgIdsUsingPOST": {
1022 "des": "getChildrenOrgIds",
1023 "value": "/inner/organization/children/orgids"
1024 },
1025 "fetchByOrgListUsingPOST": {
1026 "des": "fetchByOrgList",
1027 "value": "/inner/organization/orglist"
1028 },
1029 "queryOrgIdAndOrgCodeMapUsingPOST": {
1030 "des": "queryOrgIdAndOrgCodeMap",
1031 "value": "/inner/organization/queryOrgIdAndOrgCodeMap"
1032 },
1033 "getSubOrgIdsByBranchIdListUsingPOST": {
1034 "des": "getSubOrgIdsByBranchIdList",
1035 "value": "/inner/organization/sub/orglist"
1036 },
1037 "updateStandardNumByAddCommonProductUsingPOST": {
1038 "des": "updateStandardNumByAddCommonProduct",
1039 "value": "/inner/organization/update/num"
1040 },
1041 "updateStandardNumByCommonProductPhaseChangeUsingPOST": {
1042 "des": "updateStandardNumByCommonProductPhaseChange",
1043 "value": "/inner/organization/update/num/marketid"
1044 },
1045 "updateNotStandardNumByProductPhaseChangeUsingPOST": {
1046 "des": "updateNotStandardNumByProductPhaseChange",
1047 "value": "/inner/organization/update/num/marketid/list"
1048 },
1049 "queryProfessionListUsingPOST": {
1050 "des": "职业信息集合查询",
1051 "value": "/inner/profession/list"
1052 },
1053 "queryOrganizationsByIdsUsingPOST": {
1054 "des": "queryOrganizationsByIds",
1055 "value": "/inner/queryOrganizationsByIds"
1056 },
1057 "queryUserDoByNameUsingPOST": {
1058 "des": "queryUserDoByName",
1059 "value": "/inner/queryUserDoByName"
1060 },
1061 "queryUserDoBySingleNameUsingPOST": {
1062 "des": "queryUserDoBySingleName",
1063 "value": "/inner/queryUserDoBySingleName"
1064 },
1065 "remoteAppUpdateUsingPOST": {
1066 "des": "remoteAppUpdate",
1067 "value": "/inner/remote/app/version/update"
1068 },
1069 "loginUsingPOST_1": {
1070 "des": "login",
1071 "value": "/inner/remote/login"
1072 },
1073 "forgPasswordUsingPOST": {
1074 "des": "forgPassword",
1075 "value": "/inner/reset/password"
1076 },
1077 "sendSmsUsingPOST": {
1078 "des": "sendSms",
1079 "value": "/inner/send/sms"
1080 },
1081 "queryUserDoByIdUsingPOST": {
1082 "des": "queryUserDoById",
1083 "value": "/inner/user"
1084 },
1085 "fetchReportAcDataVOUsingPOST": {
1086 "des": "fetchReportAcDataVO",
1087 "value": "/inner/user/fetchReportAcDataVO"
1088 },
1089 "queryStateByUserIdUsingPOST": {
1090 "des": "queryStateByUserId",
1091 "value": "/inner/user/sate"
1092 },
1093 "userAuditScopeListByIdUsingPOST": {
1094 "des": "userAuditScopeListById",
1095 "value": "/inner/userAuditScopeListById"
1096 },
1097 "validateSmsUsingPOST": {
1098 "des": "validateSms",
1099 "value": "/inner/validate/sms"
1100 },
1101 "addNewCityForTeamUsingPOST": {
1102 "des": "addNewCityForTeam",
1103 "value": "/org/addNewCityForTeam"
1104 },
1105 "createOrUpdateQualityTeamUsingPOST": {
1106 "des": "createOrUpdateQualityTeam",
1107 "value": "/org/createOrUpdateQualityTeam"
1108 },
1109 "getQualityDetailByIdUsingPOST": {
1110 "des": "getQualityDetailById",
1111 "value": "/org/getQualityDetailById"
1112 },
1113 "getQualityTeamListUsingPOST": {
1114 "des": "getQualityTeamList",
1115 "value": "/org/getQualityTeamList"
1116 },
1117 "getQualityTeamOrgUsingPOST": {
1118 "des": "getQualityTeamOrg",
1119 "value": "/org/getQualityTeamOrg"
1120 },
1121 "getTeamOrgByTeamIdUsingPOST": {
1122 "des": "getTeamOrgByTeamId",
1123 "value": "/org/getTeamOrgByTeamId"
1124 },
1125 "switcherAreaUsingPOST": {
1126 "des": "switcherArea",
1127 "value": "/organization/area/switcher"
1128 },
1129 "queryAllChannelUsingPOST": {
1130 "des": "查询所有的渠道",
1131 "value": "/organization/channel"
1132 },
1133 "organizationListUsingPOST": {
1134 "des": "机构列表",
1135 "value": "/organization/list"
1136 },
1137 "switcherPositioningUsingPOST": {
1138 "des": "switcherPositioning",
1139 "value": "/organization/positioning/switcher"
1140 },
1141 "querySpeechTakeEffectConditionUsingPOST": {
1142 "des": "querySpeechTakeEffectCondition",
1143 "value": "/organization/query"
1144 },
1145 "queryBranchUsingPOST": {
1146 "des": "查询全部分公司",
1147 "value": "/organization/query/branch"
1148 },
1149 "querySubBranchUsingPOST": {
1150 "des": "查询属于某个分公司的全部支公司",
1151 "value": "/organization/query/sub/branch"
1152 },
1153 "switcherRemoteUsingPOST": {
1154 "des": "机构是否支持远程-状态更改",
1155 "value": "/organization/remote/switcher"
1156 },
1157 "switcherSpeechUsingPOST": {
1158 "des": "切换语音播报开关",
1159 "value": "/organization/speech/switcher"
1160 },
1161 "categoryListUsingPOST": {
1162 "des": "categoryList",
1163 "value": "/organization/superior/list"
1164 },
1165 "orderCancelUsingPOST": {
1166 "des": "组织机构树",
1167 "value": "/organization/tree"
1168 },
1169 "queryUserUsingPOST": {
1170 "des": "queryUser",
1171 "value": "/query/user"
1172 },
1173 "sendEmailUsingPOST": {
1174 "des": "发送邮件",
1175 "value": "/send/email"
1176 },
1177 "unbindUsingPOST": {
1178 "des": "unbind",
1179 "value": "/unbind"
1180 },
1181 "updateUserUsingPOST": {
1182 "des": "updateUser",
1183 "value": "/update/user"
1184 },
1185 "editHasScopeUsingPOST": {
1186 "des": "editHasScope",
1187 "value": "/user/edit"
1188 },
1189 "editDetailUsingPOST": {
1190 "des": "editDetail",
1191 "value": "/user/edit/detail"
1192 },
1193 "editRoleUsingPOST": {
1194 "des": "editRole",
1195 "value": "/user/edit/role"
1196 },
1197 "editStateUsingPOST": {
1198 "des": "editState",
1199 "value": "/user/edit/state"
1200 },
1201 "webManageUsingPOST": {
1202 "des": "web账户信息查询",
1203 "value": "/web/account/manage"
1204 },
1205 "forgetPassword2UsingPOST": {
1206 "des": "web端忘记密码",
1207 "value": "/web/forgetPassword"
1208 },
1209 "webLoginUsingPOST": {
1210 "des": "web登录",
1211 "value": "/web/login"
1212 },
1213 "getWebLoginCommandUsingPOST": {
1214 "des": "getWebLoginCommand",
1215 "value": "/web/login/command"
1216 },
1217 "webModifyUsernameUsingPOST": {
1218 "des": "Web端修改密码",
1219 "value": "/web/modify/username"
1220 }
1221 }
1222 }
...\ No newline at end of file ...\ No newline at end of file
File mode changed
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()
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 = ['瑞泰', '德华安顾']
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')
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
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
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
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
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
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
1 {
2 "code": 0,
3 "msg": "OK",
4 "success": true,
5 "result": {
6 "recordBeginTime": "",
7 "needTts": 1,
8 "orderRecordId": 11546,
9 "recordingTime": 0,
10 "bigPhaseList": [
11 {
12 "bigPhaseBeginTime": 0,
13 "bigPhaseEndTime": 0,
14 "osbpId": 184588,
15 "bigPhaseNum": 1,
16 "bigPhaseName": "大环节",
17 "littlePhaseList": [
18 {
19 "oslpId": 368539,
20 "osbpId": 184588,
21 "littlePhaseMp3Name": "368539",
22 "littlePhaseNum": 1,
23 "littlePhaseType": 2,
24 "littlePhaseFileType": 0,
25 "littlePhaseIdCardType": 0,
26 "littlePhaseIdCardOcrSwitch": 0,
27 "littlePhaseTitle": "陈述环节标题",
28 "littlePhaseTtsContent": "陈述",
29 "littlePhaseAnswer": "",
30 "littlePhaseImageNameArray": "",
31 "littlePhaseResultCode": 0,
32 "littlePhaseResultMsg": "",
33 "littlePhaseBeginTime": 0,
34 "littlePhaseEndTime": 0,
35 "productCode": "PWL04AQ",
36 "insureSelf": 0,
37 "littlePhaseTTsFinishTime": 0,
38 "passedByMachine": 0,
39 "pdfFileName": "",
40 "docPrdCode": "",
41 "filePopup": 0,
42 "userRole": 0,
43 "littlePhaseFileInfo": null,
44 "name": "",
45 "idCard": "",
46 "idCardType": "",
47 "ipno": "",
48 "remoteSignatureMethod": 0,
49 "offlineSignatureMethod": 0,
50 "remoteSignatureType": 0,
51 "remoteSignaturePrompt": "",
52 "remoteSignatureObject": 0,
53 "remoteSignatureRiskPrompt": "",
54 "offlineSignatureType": 0,
55 "offlineSignaturePrompt": "",
56 "offlineSignatureObject": 0,
57 "offlineSignatureRiskPrompt": "",
58 "remoteVerificationMethod": 0,
59 "offlineVerificationMethod": 0
60 },
61 {
62 "oslpId": 368540,
63 "osbpId": 184588,
64 "littlePhaseMp3Name": "368540",
65 "littlePhaseNum": 2,
66 "littlePhaseType": 3,
67 "littlePhaseFileType": 3,
68 "littlePhaseIdCardType": 0,
69 "littlePhaseIdCardOcrSwitch": 0,
70 "littlePhaseTitle": "文件出示",
71 "littlePhaseTtsContent": "文件出示",
72 "littlePhaseAnswer": "",
73 "littlePhaseImageNameArray": "",
74 "littlePhaseResultCode": 0,
75 "littlePhaseResultMsg": "",
76 "littlePhaseBeginTime": 0,
77 "littlePhaseEndTime": 0,
78 "productCode": "PWL04AQ",
79 "insureSelf": 0,
80 "littlePhaseTTsFinishTime": 0,
81 "passedByMachine": 0,
82 "pdfFileName": "基于深度学习的图像服务系统接口文档基础版(1).pdf",
83 "docPrdCode": "PWL04AQ",
84 "filePopup": 1,
85 "userRole": 0,
86 "littlePhaseFileInfo": null,
87 "name": "",
88 "idCard": "",
89 "idCardType": "",
90 "ipno": "",
91 "remoteSignatureMethod": 0,
92 "offlineSignatureMethod": 0,
93 "remoteSignatureType": 0,
94 "remoteSignaturePrompt": "",
95 "remoteSignatureObject": 0,
96 "remoteSignatureRiskPrompt": "",
97 "offlineSignatureType": 0,
98 "offlineSignaturePrompt": "",
99 "offlineSignatureObject": 0,
100 "offlineSignatureRiskPrompt": "",
101 "remoteVerificationMethod": 0,
102 "offlineVerificationMethod": 0
103 },
104 {
105 "oslpId": 368541,
106 "osbpId": 184588,
107 "littlePhaseMp3Name": "368541",
108 "littlePhaseNum": 3,
109 "littlePhaseType": 4,
110 "littlePhaseFileType": 0,
111 "littlePhaseIdCardType": 1,
112 "littlePhaseIdCardOcrSwitch": 2,
113 "littlePhaseTitle": "证件出示",
114 "littlePhaseTtsContent": "证件出示",
115 "littlePhaseAnswer": "",
116 "littlePhaseImageNameArray": "",
117 "littlePhaseResultCode": 0,
118 "littlePhaseResultMsg": "",
119 "littlePhaseBeginTime": 0,
120 "littlePhaseEndTime": 0,
121 "productCode": "PWL04AQ",
122 "insureSelf": 0,
123 "littlePhaseTTsFinishTime": 0,
124 "passedByMachine": 0,
125 "pdfFileName": "",
126 "docPrdCode": "",
127 "filePopup": 0,
128 "userRole": 0,
129 "littlePhaseFileInfo": null,
130 "name": "",
131 "idCard": "",
132 "idCardType": "",
133 "ipno": "",
134 "remoteSignatureMethod": 0,
135 "offlineSignatureMethod": 0,
136 "remoteSignatureType": 0,
137 "remoteSignaturePrompt": "",
138 "remoteSignatureObject": 0,
139 "remoteSignatureRiskPrompt": "",
140 "offlineSignatureType": 0,
141 "offlineSignaturePrompt": "",
142 "offlineSignatureObject": 0,
143 "offlineSignatureRiskPrompt": "",
144 "remoteVerificationMethod": 0,
145 "offlineVerificationMethod": 0
146 },
147 {
148 "oslpId": 368542,
149 "osbpId": 184588,
150 "littlePhaseMp3Name": "368542",
151 "littlePhaseNum": 4,
152 "littlePhaseType": 8,
153 "littlePhaseFileType": 0,
154 "littlePhaseIdCardType": 0,
155 "littlePhaseIdCardOcrSwitch": 0,
156 "littlePhaseTitle": "签字环节",
157 "littlePhaseTtsContent": "签字环节",
158 "littlePhaseAnswer": "",
159 "littlePhaseImageNameArray": "",
160 "littlePhaseResultCode": 0,
161 "littlePhaseResultMsg": "",
162 "littlePhaseBeginTime": 0,
163 "littlePhaseEndTime": 0,
164 "productCode": "PWL04AQ",
165 "insureSelf": 0,
166 "littlePhaseTTsFinishTime": 0,
167 "passedByMachine": 0,
168 "pdfFileName": "",
169 "docPrdCode": "",
170 "filePopup": 0,
171 "userRole": 0,
172 "littlePhaseFileInfo": null,
173 "name": "",
174 "idCard": "",
175 "idCardType": "",
176 "ipno": "",
177 "remoteSignatureMethod": 0,
178 "offlineSignatureMethod": 0,
179 "remoteSignatureType": 0,
180 "remoteSignaturePrompt": "",
181 "remoteSignatureObject": 0,
182 "remoteSignatureRiskPrompt": "",
183 "offlineSignatureType": 0,
184 "offlineSignaturePrompt": "",
185 "offlineSignatureObject": 0,
186 "offlineSignatureRiskPrompt": "",
187 "remoteVerificationMethod": 0,
188 "offlineVerificationMethod": 0
189 },
190 {
191 "oslpId": 368543,
192 "osbpId": 184588,
193 "littlePhaseMp3Name": "368543",
194 "littlePhaseNum": 5,
195 "littlePhaseType": 6,
196 "littlePhaseFileType": 0,
197 "littlePhaseIdCardType": 0,
198 "littlePhaseIdCardOcrSwitch": 0,
199 "littlePhaseTitle": "人脸识别环节",
200 "littlePhaseTtsContent": "人脸识别环节",
201 "littlePhaseAnswer": "",
202 "littlePhaseImageNameArray": "",
203 "littlePhaseResultCode": 0,
204 "littlePhaseResultMsg": "",
205 "littlePhaseBeginTime": 0,
206 "littlePhaseEndTime": 0,
207 "productCode": "PWL04AQ",
208 "insureSelf": 0,
209 "littlePhaseTTsFinishTime": 0,
210 "passedByMachine": 0,
211 "pdfFileName": "",
212 "docPrdCode": "",
213 "filePopup": 0,
214 "userRole": 0,
215 "littlePhaseFileInfo": null,
216 "name": "",
217 "idCard": "",
218 "idCardType": "",
219 "ipno": "",
220 "remoteSignatureMethod": 0,
221 "offlineSignatureMethod": 0,
222 "remoteSignatureType": 0,
223 "remoteSignaturePrompt": "",
224 "remoteSignatureObject": 0,
225 "remoteSignatureRiskPrompt": "",
226 "offlineSignatureType": 0,
227 "offlineSignaturePrompt": "",
228 "offlineSignatureObject": 0,
229 "offlineSignatureRiskPrompt": "",
230 "remoteVerificationMethod": 0,
231 "offlineVerificationMethod": 0
232 }
233 ]
234 }
235 ],
236 "twoPersonDetectList": [],
237 "insureSelf": 2
238 }
239 }
...\ No newline at end of file ...\ No newline at end of file
No preview for this file type
1 {
2 "code": 0,
3 "msg": "OK",
4 "success": true,
5 "result": {
6 "recordBeginTime": "",
7 "needTts": 1,
8 "orderRecordId": 11546,
9 "recordingTime": 0,
10 "bigPhaseList": [
11 {
12 "bigPhaseBeginTime": 0,
13 "bigPhaseEndTime": 0,
14 "osbpId": 184588,
15 "bigPhaseNum": 1,
16 "bigPhaseName": "大环节",
17 "littlePhaseList": [
18 {
19 "oslpId": 368539,
20 "osbpId": 184588,
21 "littlePhaseMp3Name": "368539",
22 "littlePhaseNum": 1,
23 "littlePhaseType": 2,
24 "littlePhaseFileType": 0,
25 "littlePhaseIdCardType": 0,
26 "littlePhaseIdCardOcrSwitch": 0,
27 "littlePhaseTitle": "陈述环节标题",
28 "littlePhaseTtsContent": "陈述",
29 "littlePhaseAnswer": "",
30 "littlePhaseImageNameArray": "",
31 "littlePhaseResultCode": 0,
32 "littlePhaseResultMsg": "",
33 "littlePhaseBeginTime": 0,
34 "littlePhaseEndTime": 0,
35 "productCode": "PWL04AQ",
36 "insureSelf": 0,
37 "littlePhaseTTsFinishTime": 0,
38 "passedByMachine": 0,
39 "pdfFileName": "",
40 "docPrdCode": "",
41 "filePopup": 0,
42 "userRole": 0,
43 "littlePhaseFileInfo": null,
44 "name": "",
45 "idCard": "",
46 "idCardType": "",
47 "ipno": "",
48 "remoteSignatureMethod": 0,
49 "offlineSignatureMethod": 0,
50 "remoteSignatureType": 0,
51 "remoteSignaturePrompt": "",
52 "remoteSignatureObject": 0,
53 "remoteSignatureRiskPrompt": "",
54 "offlineSignatureType": 0,
55 "offlineSignaturePrompt": "",
56 "offlineSignatureObject": 0,
57 "offlineSignatureRiskPrompt": "",
58 "remoteVerificationMethod": 0,
59 "offlineVerificationMethod": 0
60 },
61 {
62 "oslpId": 368540,
63 "osbpId": 184588,
64 "littlePhaseMp3Name": "368540",
65 "littlePhaseNum": 2,
66 "littlePhaseType": 3,
67 "littlePhaseFileType": 3,
68 "littlePhaseIdCardType": 0,
69 "littlePhaseIdCardOcrSwitch": 0,
70 "littlePhaseTitle": "文件出示",
71 "littlePhaseTtsContent": "文件出示",
72 "littlePhaseAnswer": "",
73 "littlePhaseImageNameArray": "",
74 "littlePhaseResultCode": 0,
75 "littlePhaseResultMsg": "",
76 "littlePhaseBeginTime": 0,
77 "littlePhaseEndTime": 0,
78 "productCode": "PWL04AQ",
79 "insureSelf": 0,
80 "littlePhaseTTsFinishTime": 0,
81 "passedByMachine": 0,
82 "pdfFileName": "基于深度学习的图像服务系统接口文档基础版(1).pdf",
83 "docPrdCode": "PWL04AQ",
84 "filePopup": 1,
85 "userRole": 0,
86 "littlePhaseFileInfo": null,
87 "name": "",
88 "idCard": "",
89 "idCardType": "",
90 "ipno": "",
91 "remoteSignatureMethod": 0,
92 "offlineSignatureMethod": 0,
93 "remoteSignatureType": 0,
94 "remoteSignaturePrompt": "",
95 "remoteSignatureObject": 0,
96 "remoteSignatureRiskPrompt": "",
97 "offlineSignatureType": 0,
98 "offlineSignaturePrompt": "",
99 "offlineSignatureObject": 0,
100 "offlineSignatureRiskPrompt": "",
101 "remoteVerificationMethod": 0,
102 "offlineVerificationMethod": 0
103 },
104 {
105 "oslpId": 368541,
106 "osbpId": 184588,
107 "littlePhaseMp3Name": "368541",
108 "littlePhaseNum": 3,
109 "littlePhaseType": 4,
110 "littlePhaseFileType": 0,
111 "littlePhaseIdCardType": 1,
112 "littlePhaseIdCardOcrSwitch": 2,
113 "littlePhaseTitle": "证件出示",
114 "littlePhaseTtsContent": "证件出示",
115 "littlePhaseAnswer": "",
116 "littlePhaseImageNameArray": "",
117 "littlePhaseResultCode": 0,
118 "littlePhaseResultMsg": "",
119 "littlePhaseBeginTime": 0,
120 "littlePhaseEndTime": 0,
121 "productCode": "PWL04AQ",
122 "insureSelf": 0,
123 "littlePhaseTTsFinishTime": 0,
124 "passedByMachine": 0,
125 "pdfFileName": "",
126 "docPrdCode": "",
127 "filePopup": 0,
128 "userRole": 0,
129 "littlePhaseFileInfo": null,
130 "name": "",
131 "idCard": "",
132 "idCardType": "",
133 "ipno": "",
134 "remoteSignatureMethod": 0,
135 "offlineSignatureMethod": 0,
136 "remoteSignatureType": 0,
137 "remoteSignaturePrompt": "",
138 "remoteSignatureObject": 0,
139 "remoteSignatureRiskPrompt": "",
140 "offlineSignatureType": 0,
141 "offlineSignaturePrompt": "",
142 "offlineSignatureObject": 0,
143 "offlineSignatureRiskPrompt": "",
144 "remoteVerificationMethod": 0,
145 "offlineVerificationMethod": 0
146 },
147 {
148 "oslpId": 368542,
149 "osbpId": 184588,
150 "littlePhaseMp3Name": "368542",
151 "littlePhaseNum": 4,
152 "littlePhaseType": 8,
153 "littlePhaseFileType": 0,
154 "littlePhaseIdCardType": 0,
155 "littlePhaseIdCardOcrSwitch": 0,
156 "littlePhaseTitle": "签字环节",
157 "littlePhaseTtsContent": "签字环节",
158 "littlePhaseAnswer": "",
159 "littlePhaseImageNameArray": "",
160 "littlePhaseResultCode": 0,
161 "littlePhaseResultMsg": "",
162 "littlePhaseBeginTime": 0,
163 "littlePhaseEndTime": 0,
164 "productCode": "PWL04AQ",
165 "insureSelf": 0,
166 "littlePhaseTTsFinishTime": 0,
167 "passedByMachine": 0,
168 "pdfFileName": "",
169 "docPrdCode": "",
170 "filePopup": 0,
171 "userRole": 0,
172 "littlePhaseFileInfo": null,
173 "name": "",
174 "idCard": "",
175 "idCardType": "",
176 "ipno": "",
177 "remoteSignatureMethod": 0,
178 "offlineSignatureMethod": 0,
179 "remoteSignatureType": 0,
180 "remoteSignaturePrompt": "",
181 "remoteSignatureObject": 0,
182 "remoteSignatureRiskPrompt": "",
183 "offlineSignatureType": 0,
184 "offlineSignaturePrompt": "",
185 "offlineSignatureObject": 0,
186 "offlineSignatureRiskPrompt": "",
187 "remoteVerificationMethod": 0,
188 "offlineVerificationMethod": 0
189 },
190 {
191 "oslpId": 368543,
192 "osbpId": 184588,
193 "littlePhaseMp3Name": "368543",
194 "littlePhaseNum": 5,
195 "littlePhaseType": 6,
196 "littlePhaseFileType": 0,
197 "littlePhaseIdCardType": 0,
198 "littlePhaseIdCardOcrSwitch": 0,
199 "littlePhaseTitle": "人脸识别环节",
200 "littlePhaseTtsContent": "人脸识别环节",
201 "littlePhaseAnswer": "",
202 "littlePhaseImageNameArray": "",
203 "littlePhaseResultCode": 0,
204 "littlePhaseResultMsg": "",
205 "littlePhaseBeginTime": 0,
206 "littlePhaseEndTime": 0,
207 "productCode": "PWL04AQ",
208 "insureSelf": 0,
209 "littlePhaseTTsFinishTime": 0,
210 "passedByMachine": 0,
211 "pdfFileName": "",
212 "docPrdCode": "",
213 "filePopup": 0,
214 "userRole": 0,
215 "littlePhaseFileInfo": null,
216 "name": "",
217 "idCard": "",
218 "idCardType": "",
219 "ipno": "",
220 "remoteSignatureMethod": 0,
221 "offlineSignatureMethod": 0,
222 "remoteSignatureType": 0,
223 "remoteSignaturePrompt": "",
224 "remoteSignatureObject": 0,
225 "remoteSignatureRiskPrompt": "",
226 "offlineSignatureType": 0,
227 "offlineSignaturePrompt": "",
228 "offlineSignatureObject": 0,
229 "offlineSignatureRiskPrompt": "",
230 "remoteVerificationMethod": 0,
231 "offlineVerificationMethod": 0
232 }
233 ]
234 }
235 ],
236 "twoPersonDetectList": [],
237 "insureSelf": 2
238 }
239 }
...\ No newline at end of file ...\ No newline at end of file
No preview for this file type
This diff could not be displayed because it is too large.
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/8/19 上午10:18
4 # @Author : 付孟奇
5
6 # 记录所有的数据库信息
7 '''所有线上数据信息以线上实际为准,本地只维护一个key'''
8
9
10 def dataBaseList(dbName):
11 databaseList = {
12 '中德安联-vdr': {"host": "rm-2zen60zh797n662w4lo.mysql.rds.aliyuncs.com",
13 "port": 3306,
14 "user": "vdr_allianz",
15 "password": "is611Z14$coBWPUyKR12_0d",
16 "db": "vdr_staging_allianz"
17 },
18 '中美大都会-vdr': {"host": "rm-2zen60zh797n662w4lo.mysql.rds.aliyuncs.com",
19 "port": 3306,
20 "user": "vdr_staging",
21 "password": "5HGKEm!15$_%yYod8wtPC",
22 "db": "vdr_staging"
23 },
24 '瑞泰-staging': {"host": "rm-2zen60zh797n662w4lo.mysql.rds.aliyuncs.com",
25 "port": 3306,
26 "user": "oldmutuallife_st",
27 "password": "EkKL#qX7j4M110!c17%15Qn",
28 "db": "oldmutuallife_staging"
29 },
30 '德华安顾-vdr': {"host": "rm-2zen60zh797n662w4lo.mysql.rds.aliyuncs.com",
31 "port": 3306,
32 "user": "vdr_ergolife",
33 "password": "MO19vuPr!15$_%yYe16ohpd12kUJQ518",
34 "db": "vdr-ergolife"
35 },
36 }
37 # 判断dbName是否存在该环境
38 if databaseList.get(dbName, 0) != 0:
39 data_base = databaseList[dbName]
40 return data_base
41 else:
42 return None
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/7/16 下午5:38
4 # @Author : 付孟奇
5 import xlrd
6
7 '''
8 Created on 2017-4-26
9 读取excel文件,将excle文件里面对应的sheet of addbook数据转换为python 列表对象,其中列表中每一个元素为一个字典
10 '''
11
12
13 def excel_to_list(file, tag):
14 """将excel表中数据转换成python对象"""
15 data_list = []
16 """打开excel文件"""
17 book = xlrd.open_workbook(file)
18 """选择读取sheet工作表"""
19 tag = book.sheet_by_name(tag)
20 """获取行数"""
21 row_num = tag.nrows
22 header = tag.row_values(0)
23 for i in range(1, row_num):
24 """读取行"""
25 row_data = tag.row_values(i)
26 """读取行中的每一列的值"""
27 d = dict(zip(header, row_data))
28 data_list.append(d)
29 return data_list
30
31
32 """获取测试数据,判断传入的test_name 是否存在,存在则返回一个列表中对应的字典数据"""
33
34
35 # 无效方法
36 def get_test_data(test_name, test_list):
37 for test_dict in test_list:
38 if test_name == test_dict['test_name']:
39 return test_dict
40
41
42 if __name__ == '__main__':
43 excel_to_list(1, 1)
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/7/16 下午4:58
4 # @Author : 付孟奇
5
6 import sys
7
8
9 def get_config():
10 config_info = {}
11 # Jenkins参数
12 if len(sys.argv) > 1:
13 config_info['pro'] = sys.argv[1]
14 config_info['env'] = sys.argv[2]
15 config_info['email'] = sys.argv[3]
16 config_info['title'] = sys.argv[4]
17 else:
18 # 本地兼容
19 config_info['pro'] = '德华安顾'
20 config_info['env'] = 'vdr'
21 config_info['email'] = 'fumengqi@situdata.com'
22 config_info['title'] = '本地调试'
23 config_info['phone'] = '15737319294'
24 return config_info
25
26
27 config = get_config()
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/7/19 下午5:26
4 # @Author : 付孟奇
5
6 import json
7 import base64
8 from config.vendorPath import api_path, global_path
9
10
11 # 格式化存储文件
12 def file_write(path, data):
13 with open(path, 'w') as f:
14 ev_data = eval(str(data))
15 json.dump(ev_data, f, indent=4, ensure_ascii=False)
16
17
18 # 读文件内容
19 # params:文件路径
20 def file_read(path):
21 with open(path, 'rb') as f:
22 file_data = json.load(f)
23 return file_data
24
25
26 # 从swaggerAPI文件获取接口
27 # params:接口所属模块,接口描述
28 def file_readAPI(type, api_id):
29 with open(api_path, 'r') as f:
30 api_data = json.load(f)
31 return api_data[type][api_id]['value']
32
33
34 # 更新公共参数文件信息
35 # params:更新字段1[更新字段2],更新值
36 def file_updata_global(args1, args2, args3):
37 with open(global_path, 'r+') as f:
38 file_data = json.load(f)
39 file_data[args1][args2] = args3
40 f.seek(0)
41 f.truncate()
42 json.dump(file_data, f, indent=4, ensure_ascii=False)
43
44
45 def file_updata(args1, args2):
46 with open(global_path, 'r+') as f:
47 file_data = json.load(f)
48 file_data[args1] = args2
49 f.seek(0)
50 f.truncate()
51 json.dump(file_data, f, indent=4, ensure_ascii=False)
52
53
54 # 读取公共参数文件指定内容
55 # params:文件路径,字段
56 def file_read_global(args1, args2):
57 with open(global_path, 'r') as f:
58 file_data = json.load(f)
59 datas = file_data[args1][args2]
60 return datas
61
62
63 # 图片转换64
64 def file_base_64(path):
65 with open(path, 'rb') as f:
66 base64_data = base64.b64encode(f.read())
67 data = base64_data.decode()
68 return data
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/8/20 下午5:43
4 # @Author : 付孟奇
5
6 import redis
7 import json
8 from util.log import logger
9 from util.HandleJenkins import config
10 from config.vendorList import db_40, db_45
11
12
13 class HandleRedis:
14 def __init__(self):
15 if config['pro'] in db_40:
16 self.db = 40
17 elif config['pro'] in db_45:
18 self.db = 45
19 try:
20 self.r = redis.Redis(host='r-2ze79mcysjugilpdskpd.redis.rds.aliyuncs.com', port=6379, db=self.db,
21 password='$ecur1ty', decode_responses=True)
22 except:
23 logger.info('redis连接失败!')
24
25 # 存储为字符串
26 def set_string(self, k, v):
27 self.r.set(k, json.dumps(v, ensure_ascii=False), ex=8640000)
28
29 def get_string_value(self, k):
30 redis_v = self.r.get(k)
31 return redis_v
32
33 def get_value(self, k):
34 redis_v = json.loads(self.r.get(k))
35 return redis_v
36
37
38 handle_redis = HandleRedis()
39
40 if __name__ == '__main__':
41 HandleRedis
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/8/19 上午10:23
4 # @Author : 付孟奇
5
6 from util.HandleJenkins import config
7 from util.HandleDB import dataBaseList
8 from util.log import logger
9 import pymysql
10
11
12 class DBSql:
13 def data_base(self, sqls, fe):
14 env = config['env']
15 pro = config['pro']
16 da_list = dataBaseList(pro + '-' + env)
17 try:
18 conn = pymysql.connect(host=da_list['host'],
19 port=da_list['port'],
20 user=da_list['user'],
21 passwd=da_list['password'],
22 db=da_list['db'],
23 cursorclass=pymysql.cursors.DictCursor)
24 with conn.cursor() as cur:
25 logger.info(sqls)
26 cur.execute(sqls)
27 if fe == 'SELECT':
28 result = cur.fetchall()
29 return result
30 elif fe == 'DELETE' or fe == 'UPDATE':
31 conn.commit()
32 cur.close()
33 conn.close()
34 except pymysql.MySQLError as e:
35 logger.error(str(e))
36
37 # 查询产品ID
38 def select_product(self, args):
39 fe = 'SELECT'
40 sql = '''SELECT * FROM product_library where product_code='%s';''' % (args)
41 result = self.data_base(sql, fe)
42 logger.info(result)
43 if result == ():
44 return None
45 else:
46 productId = result[0]['id']
47 return productId
48
49 # 删除产品
50 def delete_product(self, args):
51 fe = 'DELETE'
52 sql = '''DELETE from product_library where product_code='%s';''' % (args)
53 self.data_base(sql, fe)
54
55 # 查询产品附加属性Id
56 def select_attributes(self, args):
57 fe = 'SELECT'
58 sql = '''SELECT * FROM product_additional_attributes_key where keyword='%s';''' % (args)
59 result = self.data_base(sql, fe)
60 logger.info(result)
61 if result == ():
62 return None
63 else:
64 attributes_id = result[0]['id']
65 return attributes_id
66
67 # 删除产品附加属性
68 def delete_attributes(self, args):
69 fe = 'DELETE'
70 sql = '''DELETE from product_additional_attributes_key where keyword='%s';''' % (args)
71 self.data_base(sql, fe)
72
73 # 查询上传文件Id
74 def select_file(self, args):
75 fe = 'SELECT'
76 sql = '''select * from order_product_code_file where deleted=0 and file_name='%s';''' % (args)
77 result = self.data_base(sql, fe)
78 logger.info(result)
79 if result == ():
80 return None
81 else:
82 file_id = result[0]['id']
83 return file_id
84
85 # 查询年龄值
86 def select_age_value(self, args):
87 fe = 'SELECT'
88 sql = '''select * from quanlity_audit_proportion_conf where id=%s;''' % (args)
89 result = self.data_base(sql, fe)
90 logger.info(result)
91 if result == ():
92 return None
93 else:
94 file_id = result[0]['option_value']
95 return file_id
96
97 # 查询账号ID
98 def select_user_id(self, args):
99 fe = 'SELECT'
100 sql = '''select * from citic_user where username='%s';''' % (args)
101 result = self.data_base(sql, fe)
102 logger.info(result)
103 if result == ():
104 return None
105 else:
106 file_id = result[0]['id']
107 return file_id
108
109 # 查询账号绑定角色ID
110 def select_user_role_id(self, args):
111 fe = 'SELECT'
112 sql = '''select * from citic_user_role where user_id=%s;''' % (args)
113 result = self.data_base(sql, fe)
114 logger.info(result)
115 if result == ():
116 return None
117 else:
118 file_id = result[0]['id']
119 return file_id
120
121 # 删除账号
122 def delete_user(self, args):
123 fe = 'DELETE'
124 account_id = self.select_user_id(args)
125 user_sql = '''DELETE from citic_user where id=%s;''' % (account_id)
126 user_role_sql = '''DELETE from citic_user_role where user_id=%s;''' % (account_id)
127 self.data_base(user_sql, fe)
128 self.data_base(user_role_sql, fe)
129
130 # 查询话术ID
131 def select_pahse(self, args):
132 fe = 'SELECT'
133 sql = '''SELECT * FROM speech_template_library WHERE speech_name='%s';''' % (args)
134 result = self.data_base(sql, fe)
135 logger.info(result)
136 if result == ():
137 return None
138 else:
139 file_id = result[0]['id']
140 return file_id
141
142 # 删除话术内容
143 def delete_phase(self, args):
144 fe = 'DELETE'
145 sql_1 = '''DELETE FROM speech_template_library where id=%s;''' % (args)
146 sql_2 = '''DELETE FROM speech_big_phase where stl_id=%s;''' % (args)
147 sql_3 = '''DELETE FROM speech_little_phase where stl_id=%s;''' % (args)
148 sql_4 = '''DELETE FROM speech_take_effect_rule where stl_id=%s;''' % (args)
149 sql_5 = '''DELETE FROM speech_take_effect_age_condition where stl_id=%s;''' % (args)
150 sql_6 = '''DELETE FROM speech_take_effect_channel_condition where stl_id=%s;''' % (args)
151 sql_7 = '''DELETE FROM speech_take_effect_organization_condition where stl_id=%s;''' % (args)
152 self.data_base(sql_1, fe)
153 self.data_base(sql_2, fe)
154 self.data_base(sql_3, fe)
155 self.data_base(sql_4, fe)
156 self.data_base(sql_5, fe)
157 self.data_base(sql_6, fe)
158 self.data_base(sql_7, fe)
159
160 # 更新订单锁状态
161 def update_order_status(self, args):
162 fe = 'UPDATE'
163 sql = '''update order_base_info set lock_order=2 where id='%s';''' % (args)
164 self.data_base(sql, fe)
165
166 # 查询订单入件信息
167 def select_extra_info(self, args):
168 fe = 'SELECT'
169 sql = '''SELECT * FROM order_base_info WHERE id=%s;''' % (args)
170 result = self.data_base(sql, fe)
171 if result == ():
172 return None
173 else:
174 res = result[0]['extra_info']
175 return res
176
177
178 db_sql = DBSql()
179
180 if __name__ == '__main__':
181 # db_sql.delete_user('apiappuser')
182 # db_sql.delete_user('apiwebuser')
183 # db_sql.delete_phase(1030)
184 # db_sql.select_user_id('apiwebuser')
185 db_sql.delete_product('apitest')
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/8/18 上午10:59
4 # @Author : 付孟奇
5 import time
6 import uuid
7 from datetime import datetime
8
9
10 class HandleTime:
11 # 时间戳
12 def timeStamp_10(self):
13 timeArray = int(time.time())
14 return str(timeArray)
15
16 def timeStamp_13(self):
17 timeArray = int(time.time() * 1000)
18 return str(timeArray)
19
20 def timeTime(self):
21 dt = datetime.now()
22 times = dt.strftime("%Y-%m-%d %H:%M:%S")
23 return times
24
25 def timeTimeYMD(self):
26 dt = datetime.now()
27 times = dt.strftime("%Y-%m-%d")
28 return times
29
30 def taskId(self):
31 uid = str(uuid.uuid4())
32 suid = ''.join(uid.split('-'))
33 return suid
34
35
36 handle_time = HandleTime()
37
38 if __name__ == '__main__':
39 a = handle_time.taskId()
40 print(a)
41 print(type(a))
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/8/12 下午4:59
4 # @Author : 付孟奇
5 '''一些小公共方法的集合'''
6
7 from util.HandleJenkins import config
8
9
10 def login_type_choose():
11 typq_1 = ['德华安顾']
12 typq_2 = ['瑞泰']
13 typq_3 = ['中美大都会']
14 if config['pro'] in typq_1:
15 login_type = 1
16 elif config['pro'] in typq_2:
17 login_type = 2
18 else:
19 login_type = 3
20 return login_type
21
22
23 if __name__ == '__main__':
24 print(login_type_choose())
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/8/20 下午2:38
4 # @Author : 付孟奇
5
6 from config.vendorHost import vendor_host
7 from config import vendorList
8 from util.HandleJson import file_readAPI, file_updata_global
9 from util.HandleJenkins import config
10 from util.log import logger
11 import requests
12
13
14 def FirstLogin():
15 api_type = 'sys'
16 headers = {
17 'Content-Type': 'application/json'
18 }
19 if config['pro'] in vendorList.web_login_1:
20 payload = {"username": 'cs01', "password": 'situ1234'}
21
22 url = vendor_host + api_type + file_readAPI(api_type, 'webLoginUsingPOST')
23 response = requests.request('POST', url, headers=headers, json=payload)
24
25 if response.status_code is 200:
26 res = response.json()
27 logger.info(str(res))
28 login_token = res['result']['token']
29 file_updata_global('web_login', 'token', login_token)
30 else:
31 login_token = None
32 logger.error(str(response.text))
33 return login_token
34
35
36 if __name__ == '__main__':
37 FirstLogin()
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/7/16 下午5:37
4 # @Author : 付孟奇
5
6 import os
7 from util import HandleExcel
8 from config.vendorPath import excel_path
9
10
11 # 类的实例、被测试的接口名称、测试数据文件名、测试数据表单名称
12 def generateTestCases(instanse, inerfaceName, tesDataName, sheetName):
13 # 合成Excel文件路径
14 file_path = os.path.join(excel_path, tesDataName)
15 # 读取Excel指定接口的执行case
16 data_list = HandleExcel.excel_to_list(file_path, sheetName)
17
18 for i in range(len(data_list)):
19 setattr(instanse, 'test_' + inerfaceName + '_%s' % (str(data_list[i]["tc_num"])),
20 instanse.getTestFunc(data_list[i]))
21 func_name = 'test_' + inerfaceName + '_%s' % (str(data_list[i]["tc_num"]))
22 func_attr = getattr(instanse, func_name)
23 func_attr.__doc__ = str(data_list[i]["tc_name"])
24
25
26 def getTestCase(tesDataName, sheetName):
27 # 合成Excel文件路径
28 file_path = os.path.join(excel_path, tesDataName)
29 # 读取Excel指定接口的执行case
30 data_list = HandleExcel.excel_to_list(file_path, sheetName)
31
32 return data_list
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/7/26 下午7:05
4 # @Author : 付孟奇
5
6 '''自动导入类,暂时放弃'''
7
8 from util.HandleJson import file_read
9 from util.log import logger
10 from config.vendorPath import case_list_path
11 import unittest, os
12
13
14 def find_class():
15 # 1、获取项目可执行case
16 result = file_read(case_list_path)
17 caseTrue_list = []
18 case_list = []
19 for k, v in result.items():
20 if v == 'True':
21 caseTrue_list.append(k + '.py')
22 logger.info('所有可执行的case文件名为:' + str(caseTrue_list))
23 # 2、动态导入所有case
24 for case in caseTrue_list:
25 testScript = os.path.join('./SITUAPIAutomation/case/', case)
26 srcript_dir = os.path.dirname(testScript)
27 srcrpit_path = ".".join(srcript_dir.split("/")[2:])
28 path = "from " + srcrpit_path + " import "
29 exec_str = path + case[:-3]
30 exec(exec_str, globals())
31 case = "%s.%s('%s')" % (case[:-3], case[:-3], "testFunc")
32 case_list.append(case)
33 return case_list
34
35
36 def get_suit():
37 cases = find_class()
38 suite = unittest.TestSuite()
39 for case in cases:
40 suite.addTest(eval(case))
41 return suite
42
43
44 if __name__ == '__main__':
45 find_class()
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/7/16 下午4:38
4 # @Author : 付孟奇
5
6 import logging
7 from config.vendorPath import log_path
8
9
10 class Log:
11 def __printconsole(self, level, message):
12 # 创建一个logger
13 logger = logging.getLogger()
14 logger.setLevel(logging.DEBUG)
15 # 创建一个handler,用于写入日志文件
16 fh = logging.FileHandler(log_path, 'a', encoding='utf-8')
17 fh.setLevel(logging.DEBUG)
18 # 再创建一个handler,用于输出到控制台
19 ch = logging.StreamHandler()
20 ch.setLevel(logging.DEBUG)
21 # 定义handler的输出格式
22 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
23 fh.setFormatter(formatter)
24 ch.setFormatter(formatter)
25 # 给logger添加handler
26 logger.addHandler(fh)
27 logger.addHandler(ch)
28 # 记录一条日志
29 if level == 'info':
30 logger.info(message)
31 elif level == 'debug':
32 logger.debug(message)
33 elif level == 'warning':
34 logger.warning(message)
35 elif level == 'error':
36 logger.error(message)
37 logger.removeHandler(ch)
38 logger.removeHandler(fh)
39 # 关闭打开的文件
40 fh.close()
41
42 def debug(self, message):
43 self.__printconsole('debug', message)
44
45 def info(self, message):
46 self.__printconsole('info', message)
47
48 def warning(self, message):
49 self.__printconsole('warning', message)
50
51 def error(self, message):
52 self.__printconsole('error', message)
53
54
55 logger = Log()
56
57 if __name__ == '__main__':
58 logger.info('11111')
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Time : 2021/7/19 下午2:45
4 # @Author : 付孟奇
5
6 import os
7 import requests
8 from util.HandleJson import file_write
9 from config.vendorPath import api_path
10 from config.vendorHost import vendor_host
11
12
13 class SwaggerApi:
14 def __init__(self):
15 self.host = vendor_host
16 self.api_type = {}
17 url_type = ['re', 'cl', 'qa', 'sys']
18 for i in url_type:
19 self.api_msg = {}
20 swagger_url = os.path.join(os.path.join(self.host, i), 'v2/api-docs')
21 res_api = requests.get(swagger_url).json()
22 data_paths = res_api['paths'] # 获取swagger中所有接口的信息
23 self.api_type[i] = self.api_msg
24 for k, v in data_paths.items():
25 self.api_msg_v = {}
26 for _k, _v in v.items():
27 self.api_msg_v['des'] = _v['summary']
28 self.api_msg_v['value'] = str(k)
29 self.api_msg[_v['operationId']] = self.api_msg_v
30 file_write(api_path, self.api_type)
31
32
33 swaggerApi = SwaggerApi()
34 if __name__ == '__main__':
35 swaggerApi
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!