性能测试Jmeter 性能测试二:概念详解+代码录制

  • 注册

    • 使用固定参数

    • 参数化

      • 参数如果固定,比如注册的时候,是不能重复执行的,所以可以用参数化使每次注册的用户名都不一样。jmeter不支持unique这种功能,但是可以在一个很大的范围内取值。Function Helper Dialog 函数助手对话框,选择random,然后输入一个范围值,生成并拷贝生成的函数名。
      • 将函数名拷贝到线程组的参数后面,如下图,运行,即用随机生产的用户名注册成功。
      • 断言

        • 每次请求完后手动查看结果效率很低,通过断言方便判断结果。添加响应断言,如断言失败结果红字展示并提示断言失败原因。也可以断言正则提取中的定义出来的变量。如下图,加了两个断言,判断响应结果中是否有二者
      • 增加正则表达式提取器

        • 如匹配响应内容中的usierid的正则表达式userid":(\d+)选择从哪里去做匹配,这里是从body中匹配。然后输入要匹配什么,匹配的正则是什么(“需要用\转义),匹配第一个分组,如果没有匹配到时返回not found,如下图:为了查看调试过程中的全部变量,再加入如下菜单,后置处理器-调试后置处理器:运行后,可以看到结果如下图所示:
      • 增加json断言

        • 如果接口返回的是json格式数据,也可以用json断言返回结果查看执行的结果如下图示:
      • 注册、登录和查询博文用参数化和关联实现

        • 注册接口中用户名、密码参数化。
        • 登录接口请求时关联注册接口请求报文中的用户名密码。
        • 查询博文请求时关联登录接口响应报文中的token和userid。
        • 添加Thread Group,添加三个HTTTP Request,分别输入register注册、login登录、getBlogsOfUser查询博文接口内容。
        • 其中登录时密码需要用到MD5加密,同样通过Function Helper Dialog,选择_MD5,待计算的数据输入注册时的已经参数化了的密码,将其保存在指定的变量名中如password,然后Generate&Copy to clipboard。
        • login 节点下添加 2 个 Regular Expression Extractor 。因为 getBlogsOfUser 接口请求时需要用到 login 接口返回的 userid 和 token,所以我们 要用正则提取器将 userid 和 token 提取出来放到变量中,以便 getBlogsOfUser 接口做关联。
        • MD5加密,如果没有该选项,需要安装插件,再在插件中选择,具体步骤https://blog.csdn.net/test_xhz/article/details/80311332
        • 具体截图步骤如下,结构如图:
          \w 匹配数字字母下划线
          \W 匹配非数字字母下划线
          \s 匹配任意空白字符,等价于 [\t\n\r\f]。
          \S 匹配任意非空字符
          \d 匹配任意数字,等价于 [0-9]。
          \D 匹配任意非数字
          添加 Debug Sampler,查看过程变量
      • 待补充

        • 引用变量,直接可以通过${变量名}来引用即可
          • 变量可以通过Function Helper Dialog 函数助手对话框来实现
          • 变量也可以通过以下菜单来设置,提前定义一些变量,在后续的接口请求操作中会用到。
        • 设置默认网站域名、端口等,当Thread Group中有个多个请求时,避免每个请求都写一遍,可以提高效率。
        • 默认将服务端返回的cookie记录下来,在后续接口请求中会带上cookie。这里把所有接口和发送请求中的cookie都保持下来,下次请求直接使用。
        • 录制脚本时的一些设置,如代理端口port,(IE同时也需要进行配置),Target Controller设置脚本存放的位置,start单击开始录制。

猜你喜欢

转载自blog.csdn.net/chang_jinling/article/details/93538135