测试工具之Jmeter(创建一个简单测试用例)

 

前面介绍了如何使用badboy录制jmeter脚本,以及如何导入脚本并进行测试

这里介绍下手动创建测试用例,主要步骤如下:

 

1、创建线程组

第一次打开Jmeter只有一个测试计划,右键“测试计划”选择“添加” -> “Threads” -> “线程组”,即可得到如下配置界面:

 

名称:即这个线程组的名字

注释:对这个线程组的注释

在取样器执行错误后的操作:根据需要勾选后续执行情况,一般都会选择继续

线程数:即总的测试次数(模拟的用户操作)

Ramp-up period:执行完所有线程数所用的时间,比如线程数为100,执行时间设置为20秒,那么每秒应该会增加5个用户操作。

  如果没有指定时间,则Jmeter会立即建立所有线程(启动所有线程数的用户操作)

循环次数:表示这个线程组需要执行多少个循环,如果选择“永远”,那就一直执行下去,除非手动停止

Delay Thread Creation until needed:看了官方的解释和自己实际应用,意思应该如下:

  当线程需要执行的时候,才会被创建。如果不选择这个选项,那么,在计划开始的时候,所有需要的线程就都被创建好了

调度器:勾选后,下面的“调度器配置”就可以填写相关信息

调度器配置.持续时间:即每个线程执行的时间,即模拟用户的在线时长

调度器配置.启动延时:即这个测试用例在开始后多长时间开始执行

调度器配置.启动时间:测试计划开始后,在什么时间开始执行。开始执行后还是会有上面的启动延时存在(如果启动延时配置了)

调度器配置.结束时间:测试计划结束的时间,到时间后,会停止所有线程

 

2、创建取样器

在取样器中选择“http请求”,并配置访问baidu网页,如下:

名称:给取样器取个名字

注释:对取样器进行注释

Basic.Web服务器.服务器名称或IP:这里填写百度网址即可

Basic.Web服务器.端口号:http默认端口号80,如果是其他自定义的端口,直接填写即可

Basic.Web服务器.Timeouts.Connect:连接超时时间

Basic.Web服务器.Timeouts.Response:响应超时时间

Advanced.Embedded Resources  from HTML Files:如果勾选了,则会下载所有资源

Advanced.Source Address:一般用于IP欺骗(Implementation为HTTPClient有效)

Basic.HTTP请求.Implementation:默认是HttpClient4

Basic.HTTP请求.协议:根据实际情况填写。这里填http

Basic.HTTP请求.方法:get。方法有很多,一般用得比较多的是get和post

Basic.HTTP请求.Content encoding:编码方式

Basic.HTTP请求.路径:域名后面部分。这里我们访问的是百度首页,不用填写

Basic.HTTP请求.自动重定向:只支持GET,HEAD方法。 如果请求有重定向的话,会只显示终的结果,Jmeter 不会显示重定向的过程

Basic.HTTP请求.跟随重定向:与“自动重定向”之前只能选择一个。如果请求有重定向的话, Jmeter 会显示重定向的过程

Basic.HTTP请求.Use Keep Alive:直接勾选即可

Basic.HTTP请求.Use multipart/form-data for HTTP POST:当需要上传文件时需要勾选

Basic.HTTP请求.Browser-compatible headers:当勾选了Use multipart/form-data for HTTP POST后,可以选择这个,

  可以保证不受HTTP信息头管理器设置的Content-Type 和Content-Transfer-Encoding 影响

Basic.HTTP请求.Parameters:http消息请求的参数。参数值包含特殊字符比如’&’,jmeter会自动转义为’%26’

Basic.HTTP请求.Body:使用文本形式发送请求参数。一般是json或xml

Basic.HTTP请求.Files Upload:文件名称: 要上传的文件,包括路径 2. 参数名称: 请求参数名称 3. MIME类型:MIME type (for example, text/plain)

Basic.Proxy server:代理服务器设置

 

这样测试用例就写好了,可以执行了,执行完成后,点击下面红框(或菜单“选项” -> Log Viewer)可以显示执行日志:

 

这里没看出报错,我们再添加监听器(查看结果树),再执行以下,看到报错了:

 

看报错信息,Jmeter把我们设置的网址又加了一个http://,也就是Jmeter不需要我们去加这个头,我们直接去掉再测试一遍:

 

这时候看到正常了~,一个简单的测试用例就完成了,这里我们也可以加个断言,判断响应返回码是否为正确的(200为正常):

 

重新执行一下,通过。如果这里随便填个,可能就会执行失败

 

posted @ 2018-08-11 19:41  水里的芋头  阅读(389)  评论(0编辑  收藏  举报