工具:使用JMeter实现Phpwind的性能测试
作者:reader1   类别:Web前端    日期:2018-02-02 16:20:30    阅读:993 次   消耗积分:0 分



实验简介


在前面的学习中,我们已经利用JMeter完成了针对Agileone系统的协议级接口测试。我们也知道,性能测试技术的核心便是利用多线程技术发送协议请求,完成对大量用户访问系统的模拟。而JMeter的设计初衷其实就是为了性能测试,比如我们创建一个测试计划的第一步便是创建一个线程组。本实验就为大家讲解如果利用JMeter完成对Phpwind的登录和发帖的性能测试。

 

实验目的


(1) 掌握JMeter中的关联查找的用法。

(2) 掌握JMeter中的线程设计及用法。

(3) 掌握JMeter中的测试报告的用法。

 


实验流程


1. 实现Phpwind的登录取样器


我们已经为Phpwind创建了从testuser_1到testuser_100共100个用户,那么在性能测试过程中,我们应该实现用户的随机登录,这样更能模拟真实场景。


(1) 创建一个“HTTP请求”取样器,并命名为“DoLogin”,填写好对应的登录的POST请求参数。

(2) 为该取样器创建“响应断言”和“察看结果树”,后续请求同。

(3) 为该取样器创建一个“前置处理器”,并实现一个从1到100的随机数。

(4) 最终实现的测试请求如下:


1.png

 

2. 利用正则表达式关联验证码


由于在Phpwind中发帖时,必须指定一个字段“verify”,该值是一个随机数,我们必须使用正则表达式关联响应中的对应的值。这部分在接口测试的实现过程中已经有所掌握,此处我们主要看看在JMeter中如何实现:

(1) 添加一个“HTTP请求”取样器,并发送GET请求给“/phpwind/post.php?fid=2”获取响应。

(2) 为该取样器添加一个后置处理器,设置为“正则表达式提取器”,并为其进行如下设置:


2.png 

 

(3) 对上述的几个输入字段简单做一个说明:


a) 引用名称:下一个请求要引用的参数名称,如填写verifycode,则可用${verifycode}引用它。

b) 正则表达式:圆括号包含的就是要提取的内容,这也是我们熟练应用的内容。

c) 模板:用$-$引用起来,如果我们设置的正则表达式查找到多个值,则序号表示处理哪一个值。

d) 匹配数字:0代表随机取值,1代表全部取值,通常情况下填0就好。

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

 

3. 添加发帖请求

(1) 为该取样器设置一个用户参数,使用函数助手生成一个随机数,用为帖子标题和内容的随机数。

(2) 将上一步中获取到的verifycode作为POST请求正文verify字段的值。

(3) 最后生成的测试请求如下:


3.png 

 

4. 确保每个请求下载全部资源

版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/39
上一篇:工具:使用JMeter实现Agileone的接口测试
下一篇:工具:使用LoadRunner实现Agileone的接口测试
${comment['nickname']}   ${comment['createtime']}
  
       
${comment.content}
${reply.nickname} 回复 ${comment.nickname}    ${reply.createtime}
     
  
回复内容:${reply.content}