美文网首页Jmeter实用我爱编程
jmeter录屏及简单压测

jmeter录屏及简单压测

作者: 往你头上敲三下 | 来源:发表于2018-06-21 16:25 被阅读0次

    1、打开jmeter,添加线程组

    2、测试计划下添加http代理服务器

    目标控制器选择:测试计划->线程组,因为我们是录制到线程组中,所以选择测试计划->线程组

    设置浏览器代理,以谷歌浏览器为例。打开浏览器->设置->高级,往下翻到系统,点击打开代理设置

    出现internet属性窗口,点击局域网设置。

    设置如下图:端口要保持一致

    设置完成之后,点击启动按钮,jmeter将会记录我们在谷歌浏览器中所有的操作(类似抓包)。注意:操作完浏览器后,要及时关闭录制。否则jmeter会记录很多我们不需要的后续请求,并且将浏览器的代理服务关闭,否则浏览器将无法访问外网。

    实例:登录论坛,并发帖。

    点击启动后,通过谷歌浏览器访问论坛,登录并发帖,完成发帖后,打开jmeter工具,点击http代理服务器上的停止按钮,并将浏览器代理服务器关闭。此时,查看我们的线程组,发现下面已经记录了一大推的请求。

    只是简单的一个登录和发帖,我们看到jmeter中记录了很多请求,其中有很多是css的请求,我们真正需要的是signin和topiccreate。jmeter不支持批量删除http请求,一个一个删除又很麻烦,所以我们可以选择新建一个线程组,将我们需要用到的请求复制到后面的新建的线程组下,如下图:

    接下来可以运行我们的线程组了,点击运行,发现报错,禁止访问。。。不要慌,这是因为没有cookie的原因,虽然登录成功了,但是因为没有cookie,导致没有权限进行发帖的操作。(还记得我们一开始用jmeter做的post接口请求么?发帖需要四个必须字段,token,title,tab,conten,其中token就是用户的登录信息)

    首先正常页面操作发帖的时候查看cookie

    但当我们把网页中的cookie删除掉,再刷新该页面,发现与jmeter中的报错一致都是forbidden!

    既然知道原因了,就知道怎么对症下药了。在线程组下分别添加http cookie管理器和httpcache manager。这两个一个是cookie一个缓存。加上这两个之后再运行我们的线程组。

    再次运行后查看结果树,已经运行成功了

    3.压测(登录和发帖)

    在上述基础上我们对服务器进行压测。方案,采用csv数据驱动实现。

    线程组下添加csv数据文件

    新建data.csv文件,如下图:两列数据分别为用户名和密码

    注意,如果文档中含有中文,则用记事本方式打开该csv文件,另存为,选择UTF-8编号格式保存

    此时在csv数据驱动文件中设置如下

    再将线程组中的线程数改为10,再次运行该线程,查看结果树:

    根据响应数据或者请求我们可以得出报错原因,no cookie,可能该用户不存在,此时我们在浏览器中用该用户名密码登录,发现确实登录不了

    修改data.csv文件,将错误的用户名密码修改为正确的用户名密码后,再次运行,

    查看论坛首页,批量发帖十个已经成功

    既然添加成功,接下来我们可以开始使用断言来验证结果是否正确。因为登录成功后会跳转到首页,并且首页展示登录名,所以我们在登录请求下添加响应断言

    因为在csv驱动设置中我们已经将用户名参数化为${user},所以我们在响应断言中设置如下:

    同时,为方便查看请求参数,我们在线程组下添加debug postprocessor

    设置完成后再次运行,查看结果树及debug postprocessor的响应数据

    相关文章

      网友评论

        本文标题:jmeter录屏及简单压测

        本文链接:https://www.haomeiwen.com/subject/ezzqyftx.html