• 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)
    

      

      

  • 相关阅读:
    hihocoder #1333 : 平衡树·Splay2
    【bzoj1251】序列终结者 splay
    BZOJ 1588: [HNOI2002]营业额统计 双向链表 / splay / treap
    湖南省第十二届大学生计算机程序设计竞赛 F 地铁 多源多汇最短路
    湖南省第十二届大学生计算机程序设计竞赛 B 有向无环图 拓扑DP
    湖南省第十二届大学生计算机程序设计竞赛 G Parenthesis
    HDU 4251 The Famous ICPC Team Again 主席树
    Codeforces Round #369 (Div. 2) D. Directed Roads dfs求某个联通块的在环上的点的数量
    python main
    python显示灰度图
  • 原文地址:https://www.cnblogs.com/mtfan01/p/13267883.html
Copyright © 2020-2023  润新知