-
注册
-
使用固定参数
-
参数化
- 参数如果固定,比如注册的时候,是不能重复执行的,所以可以用参数化使每次注册的用户名都不一样。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
- 具体截图步骤如下,结构如图:
添加 Debug Sampler,查看过程变量\w 匹配数字字母下划线 \W 匹配非数字字母下划线 \s 匹配任意空白字符,等价于 [\t\n\r\f]。 \S 匹配任意非空字符 \d 匹配任意数字,等价于 [0-9]。 \D 匹配任意非数字
-
待补充
- 引用变量,直接可以通过${变量名}来引用即可
- 变量可以通过Function Helper Dialog 函数助手对话框来实现
- 变量也可以通过以下菜单来设置,提前定义一些变量,在后续的接口请求操作中会用到。
- 设置默认网站域名、端口等,当Thread Group中有个多个请求时,避免每个请求都写一遍,可以提高效率。
- 默认将服务端返回的cookie记录下来,在后续接口请求中会带上cookie。这里把所有接口和发送请求中的cookie都保持下来,下次请求直接使用。
- 录制脚本时的一些设置,如代理端口port,(IE同时也需要进行配置),Target Controller设置脚本存放的位置,start单击开始录制。
- 引用变量,直接可以通过${变量名}来引用即可
-
性能测试Jmeter 性能测试二:概念详解+代码录制
最新推荐文章于 2024-03-04 11:13:41 发布