WebSpeechTemplatePhaseCreat.py 3.12 KB
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/8/13 下午3:55
# @Author : 付孟奇

import unittest, requests
from config.vendorHost import vendor_host
from config.vendorPath import global_path
from util.generate import getTestCase
from util.log import logger
from util.HandleJson import file_readAPI
from util.HandleJson import file_read_global, file_updata_global


class WebSpeechTemplatePhaseCreat(unittest.TestCase):

    def testFunc(self):
        '''创建话术模板环节(话术大环节、小环节)'''
        data_list = getTestCase('WEB_api_case.xlsx', '创建话术')
        for i in range(len(data_list)):
            self.getTest(data_list[i])

    def getTest(self, data):
        tcname = data['tc_name']
        code = int(data['code'])
        speechName = file_read_global('speech', 'speechName')
        stlId = file_read_global('speech', 'stlId')

        api_type = 're'

        logger.info('********************【' + tcname + '】接口测试开始!' + '********************')

        headers = {
            'Content-Type': 'application/json',
            'X-Auth-Token': file_read_global('web_login', 'token')
        }
        payload = {
            "speechName": speechName,
            "stlId": stlId,
            "phaseList": [
                {
                    "phaseTitle": "大环节名称",
                    "phaseNum": 1,
                    "showPhaseTitle": "大环节名称",
                    "hintsList": [
                        {
                            "hintName": "apitest",
                            "hintTitle": "apitest",
                            "showHintName": "小环节名称",
                            "tts": "接口自动话测试",
                            "hintNum": 1,
                            "conditions": [],
                            "conditionType": 1,
                            "hintType": {
                                "hintType": 2,
                                "sure": "",
                                "no": "",
                                "docType": 100,
                                "certificateType": "",
                                "ocr": "",
                                "docPrdCode": ""
                            },
                            "bindBefore": 0,
                            "bindAfter": 0,
                            "bindBeforeChosed": 1,
                            "bindUnique": "f2f3eb26-856b-8fd1-e916-e761f8739d9d",
                            "classIndex": 0,
                            "userRole": 1
                        }
                    ]
                }
            ]
        }
        logger.info('【' + tcname + '】的接口入参为:' + str(payload))

        url = vendor_host + api_type + file_readAPI(api_type, 'createSpeechPhaseUsingPOST')
        response = requests.request('POST', url, headers=headers, json=payload)

        if response.status_code is 200:
            res = response.json()
            self.assertEqual(res['code'], code, msg=str(res))
            logger.info('【' + tcname + '】的接口返回参数为:' + str(res))
        else:
            logger.info(response.text)