zoukankan      html  css  js  c++  java
  • python接口自动化之通过接口模拟一通电话的多段对话

      背景

        测试环境不能采用真实打电话,不能拿到ASR语音转文本的数据,只能模拟ASR语音转文本去请求对话处理接口,于是乎就有了以下的一段脚本,模拟一通电话坐席跟客户的对话。

       

    import requests
    import json,random,time
    from automation import public_data as p
    
    #请求Go对话处理接口
    def qndialog(data):
        url = "http://ip:port/qnDialog"
        headers = {
            'Content-Type':'application/json'
        }
    
        response = requests.post(url=url, headers=headers, data=json.dumps(data))
        result = response.json()
        return result
    
    if __name__ =="__main__":
        sum = 0
        #传参
        data = {
            "enterpriseId": "2000000002",
            "callList": {
                "recordId": "100001",
                "initialagentId": "123456",
                "curuserdn": "123456",
                "talkertype": "02418242307249",
                "begintime": "1582254653",
                "endtime": "1582254698",
                "agentID": "10081",
                "callCentraTag": "ccod",
                "isEnd": False
            },
            "taskData": {
                "bps": 39000,
                "eps": 44090,
                "index": 15,
                "callType": "2",
                "text": "嗯嗯,什么事",
                "silence_duration": 600,
                "speech_rate": 100,
                "emotion_value": "neutral"
            }
        }
        #模拟一通电话13段对话
        for i in range(21):
            time.sleep(1)
            sum += 1
            if i % 21 == 0:
                agentid = str(random.randint(10000, 10099))
                recordid = str(random.randint(2000000, 2999999))
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '您的年龄属于以下哪个组别'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 1:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = '我16到17岁有劳动收入'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 2:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '您有几年年非保本类投资产品的经验'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 3:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = '没有投资过'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 4:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '下方的哪个选项能说明您的投资经验请您说一个'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 5:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = '没经验'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 6:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '您目前的非保本资产占总资产的百分之几'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 7:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = '百分之零'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 8:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '以下哪种描述最适用于您对于投资收益的态度'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 9:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = '希望得到高额的回报'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 10:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '您愿意接受多少年的投资年限'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 11:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = '5年以上'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 12:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '除了储蓄存款之外,有多少比重是可以用于投资的'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 13:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = '占了一半以上'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 14:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '您随时可以调动的金额相当于您所负担几个月的家庭开支'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 15:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = '没有可以随时调用的钱'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 16:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '您投资的目的是什么'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 17:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = 'A'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 18:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '好的,谢谢'
                data["callList"]["isEnd"] = False
                print(qndialog(data))
    
            elif i % 21 == 19:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "1"
                data["taskData"]["text"] = '再见'
                data["callList"]["isEnd"] = True
                print(qndialog(data))
    
            elif i % 21 == 20:
                data["callList"]["agentID"] = agentid
                data["callList"]["recordId"] = recordid
                data["taskData"]["callType"] = "2"
                data["taskData"]["text"] = '再见'
                data["callList"]["isEnd"] = True
                print(qndialog(data))
    
            else:
                pass
        print(sum)
    

      

      

  • 相关阅读:
    [转]boost.bind 如何 bind continue.1
    Maven configure settins.xml
    JUNIT测试通过,EMMA通不过,java.lang.NoClassDefFoundError: oracle/security/pki/OracleWallet
    java中OOA,OOT, OOP, OOD, OOSM,OOM英文表示的含义是什么?
    关于navicat连接oracle 报 ORA12737 set CHS16GBK错误的解决方案
    configure integration Hibernate3,Spring3,Struts2,JPA
    Proguard returned with error code 1. See console
    Spring内置提供的NativeJdbcExtractor转换器
    oracle opreation instruction(表空间,用户etc)
    Struts2,oracle实现GOOGLE的分页样式
  • 原文地址:https://www.cnblogs.com/mtfan01/p/13267883.html
Copyright © 2011-2022 走看看