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