参数化:(一个变量,多处使用),避免大多数请求全部命中缓存
              为了防止被系统缓存命中大部分测试数据,我们需要使用不同的测试数据来模拟真实的场景进行压力测试。
安装插件:
      Custom JMeter Functions
      Dummy Sampler
      UDP Protocol Support
      Console Status Logger
      Additional Graphs
      Basic Graphs
      custom Thread group
 
参数化其他的方法:timer,logic,controller,TCP,UDP,JDBC,Bean shell、所有接口
 
参数化的几种方式:
1)Test Plan中定义全局的变量
2)User Defined Variables:在整个测试计划中都生效
3)User Parameters:对每一个线程定义变量
4)CSV Data Set Confing:文件做参数化,适用于大数据量的情况
 
 
1.放入jar包
 
2.点击小爪爪----Available
 
 
参数+关联的例子:
第一步:设置默认请求ip,提供多个接口有相同的请求域名时使用
 
第二步:
resgiter接口
参数:{"username":"lilya1","password":"lil333333y","email":"lily33333@qq.com"}
 
第三步:
   加断言,查看返回的code结果是否是00,00表示注册成功
 
 
第四步:已经用的用户名再次注册时不能使用了,所以需要我们设置参数化
参数化{"username":"lily${__Random(1,100000,rand)}","password":"lil333333y","email":"lily33333@qq.com"}
                                                                               ${__MD5(lil333333y,md5)}
 
添加debug,然后执行---》》
 
 
 
 
 
{"username":"lily${counter}","password":"lil333333y","email":"lily33333@qq.com"}
 
login接口:
要想使用上一步注册的用户来登录,用户名值"lilya${rand}",rand是注册时用户名生成随机数保存的名称
{"username":"lilya${rand}", "password":"${__MD5(lil333333y,md5)}"}
 
 
 
{"token": "2874c6075bb6eec0eb28ad90feefdabc", "code": "00", "userid": 119, "login_time": "2019-08-29 22:09:08"}
 
后续新增博文或其他的操作时都需要userID/token,故需要提取取userid和token
添加正则处理器
 
 
 
 
 
create接口:用到上面提取到的userid和token
{"userid":${userid}, "token": "${token}", "title":"python", "content":"python port test mmm"}
 
 
 
 
 
另一种参数化:递增取值
posted on 2019-11-23 12:31  腿短毛不多  阅读(218)  评论(0编辑  收藏  举报