• jmeter实现自动进线


    使用jmeter实现自动进线

    可通过jmeter自身代理或者Charles

    来获取主流程的事件,一般都是RESTFUL,一些CSS静态资源可以不考虑。

    一个DTO类型的参数无法直接作为参数,在转码后再插入需要每次变更的ID后成功

    %7B%22consultId%22%3A0%2C%22serverIp%22%3A%22192.168.224.108%22%2C%22consultCode%22%3A%22console_code_module_959%22%2C%22openId%22%3A%22${DTO}%22%2C%22source%22%3A%2230%22%2C%22userType%22%3A%2210%22%2C%22cityId%22%3A%221%22%2C%22userToken%22%3A%22%22%2C%22anonymous%22%3A%221%22%2C%22isForward%22%3A0%2C%22consultDescription%22%3A%22123%22%7D

     直接使用会报解析错误

    java.net.URISyntaxException: Illegal character in query at index 221: http://chat.51ping.com/user/chat_in?&user_token=&user_id=&user_type=user&city_id=1&from=app&consult_code=console_code_module_959&is_robot=0&is_anonymous=1&is_suggest=0&is_false=0&isForward=0&dialogId=3987&queueRequestDto={"consultId":0,"serverIp":"192.168.224.108","consultCode":"console_code_module_959","openId":"9d8b344e-cb9d-46c8-8c1c-a9d04e0d1643","source":"30","userType":"10","cityId":"1","userToken":"","anonymous":"1","isForward":0}&customerId=302525
    at java.net.URI$Parser.fail(Unknown Source)
    at java.net.URI$Parser.checkChars(Unknown Source)
    at java.net.URI$Parser.parseHierarchical(Unknown Source)
    at java.net.URI$Parser.parse(Unknown Source)
    at java.net.URI.<init>(Unknown Source)
    at java.net.URL.toURI(Unknown Source)

    正则提取时要注意,返回结果中带时,使用正则需要加进行转义

    上一个事件的响应为:

    {"user_id":"","customerId":302504,"webSocketUrl":null,"from":"30","user_top_html":null,"kefu_top_html":null,"consult_category_detail":null,"welcomeMessage":"北京欢迎你","globalMessage":"北京欢迎你","code":0,"queueCount":0,"consultId":null,"staffId":null,"staffLogonServerIp":null,"serviceId":null,"onlineId":null,"userType":"user","robot":false,"product":null,"dialogId":3966,"robotDialogId":null,"manualDialogId":null,"queueRequestDto":"{"consultId":0,"serverIp":"192.168.224.108","consultCode":"console_code_module_959","openId":"9d8b344e-cb9d-46c8-8c1c-a9d04e0d1643","source":"30","userType":"10","cityId":"1","userToken":"","anonymous":"1","isForward":0}"}

    若要提取 openId :"openId":"9d8b344e-cb9d-46c8-8c1c-a9d04e0d1643"

    正则表达式应为  openId\":\"(.+?)\"

    jmeter正则表达式提取相关:

    注释不多说,随便自己喜欢

    Apply to:默认即可

    要检查的字段:主体等选择,一般我们选择主体,即服务器返回给我们的页面主体信息

    引用名称:即参数名称,这个自己定义,在后面时可用

    正则表达式: 正则表达式中()括起来的部分就是要提取的。.代表任意字符,+代表出现任意次,后面加?。

    模板:$1$代表只有一组数据

    匹配数字:0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组

    缺省值:如果参数没有取得到值,那默认给一个值让它取

     

    运行结果

    进线成功

    也可以通过一些枚举值来模拟PC与APP,或者加循环/message/add来维持会话进行长时间的负载测试

  • 相关阅读:
    Django 07模型层—单表操作(增删改查)
    Django 05(模板-变量、过滤器、 标签 )
    Django 04(url与views相关内容)
    路由基础及反向解析
    Django项目基础
    Django框架导读
    异常处理
    Docker
    Docker基本概念
    Docker架构
  • 原文地址:https://www.cnblogs.com/maple42/p/4708296.html
Copyright © 2020-2023  润新知