工具以使用为主,这次写一篇Jmeter的使用指南,以网站https://testerhome.com为例,大家如果没用过,可以尝试一下。
开始步骤
1.之前已经讲过安装,这里我们以GUI模式运行JMeter。打开JMeter,为我们的第一个测试计划命名为FirstDemo,如下图所示(注意:需要点击其他组件,命名才会生效)。
测试计划,所有的测试工作都要基于测试计划来进行,一个测试项目中就只能存在一个的测试计划,测试计划在整个项目中充当的是一个全局设置的作用,这样也就不难解释为什么一个项目中就只能有一个测试计划
2.测试计划创建完成下一步是创建线程组,命名为TesterHome网站登录。
线程组,线程组顾名思义也就是相当于很多线程的一个集合,在项目中可以有多个的线程组,线程组在项目中主要是集合对一个对象进行测试的线程,比如说你想测试A网站和B网站,这个时候你就可以通过创建两个线程组来完成这个任务
3.线程组创建完成后,创建监听器-查看结果树。
查看结果树,监听器的一种,搭建线程后,是没有办法查看结果的,因此我们需要对结果进行监听,这时就可以新建一个监听器了,查看结果树是我平时最常用的一种
4.线程组下创建HTTP信息头管理器。通过浏览器打开https://testerhome.com ,开启开发者工具,选择Network,点击url选择headers,将Request Headers里的内容复制到HTTP信息头管理器。
HTTP信息头管理器,可以帮助测试人员设定JMeter发送的HTTP请求头所包含的信息,HTTP信息头中包含有”User-Agent"、“Pragma"、”Referer"等属性,尽可能放在线程组一级,除非因为某些原因,希望不同的HTTP请求使用不同的HTTP信息头
5.线程组下创建逻辑控制器-简单控制器。
逻辑控制器-简单控制器,JMeter里最简单的控制器,不具备任何功能,主要是为采样器提供一个块的功能
分析+编写
1.通过查看Cookie可以得知TesterHome的cookie包含_ga,_gat,_gid,_homelandsession,userid,其中_ga,_gat,_gid没什么用可不填。
2.查看Resonse,搜索token,可以看到token通过csrf-token存储。
3.在简单控制器下,创建Http请求。通过前面的分析为登录TesterHome我们需要创建三个Http请求,分别命令为:未登录HOME页,登录,已登陆HOME页。
4.未登录HOME页的Http请求很简单,只需要分别填写协议、服务器名称和请求。
5.在未登录HOME页的Http请求里,我们需要cookie中的homelandsession和user_id,以及response中的csrf-token。
在JMeter中可以通过正则表达式提取数据,其中_homelandsession和user_id在信息头中,csrf-token在Body中
6.登录的Http请求里有我们的登录信息。因此除了填写协议、服务器名称和请求外,还需要添加参数。
7.在登录的Http请求里,需要上一个请求提取的值,因此在Http请求下新建一个HTTP信息头管理器。登录后,我们需要一个新的cookie,因此在Http请求里,需要提取真实的_homelandsession和user_id。
8.已登陆HOME页的Http请求与未登录HOME页的Http请求一致。与登录的Http请求一致,需要新建一个HTTP信息头管理器,将新的cookie写入。在Http请求下,添加一个断言,里面写用户名称,判断响应数据是否正确。
结果运行
点击运行,查看结果树,大功告成
领取专属 10元无门槛券
私享最新 技术干货