测试工具之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为正常):
重新执行一下,通过。如果这里随便填个,可能就会执行失败
测试工具之Jmeter(创建一个简单测试用例)的更多相关文章
- Jmeter创建一个简单的http接口用例
1.新建线程组 添加->Threads(Users)->线程组 线程组用来模拟用户进程. 2.添加http信息头管理器 添加->配置元件->http信息头管理器 Systemi ...
- Jmeter初步使用二--使用jmeter做一个简单的性能测试
经过上一次的初步使用,我们懂得了Jmeter的安装与初步使用的方法.现在,我们使用Jmeter做一个简单的性能测试.该次测试,提交的参数不做参数化处理,Jmeter各元件使用将在介绍在下一博文开始介绍 ...
- 使用 CodeIgniter 创建一个简单的 Web 站点
原文:使用 CodeIgniter 创建一个简单的 Web 站点 参考源自: http://www.ibm.com/developerworks/cn/web/wa-codeigniter/index ...
- 一个先进的App框架:使用Ionic创建一个简单的APP
原文 http://www.w3cplus.com/mobile/building-simple-app-using-ionic-advanced-html5-mobile-app-framewor ...
- 如何创建一个简单的Visual Studio Code扩展
注:本文提到的代码示例下载地址>How to create a simple extension for VS Code VS Code 是微软推出的一款轻量级的代码编辑器,免费,开源,支持多种 ...
- 《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...
- ADF_General JSF系列1_创建一个简单的JSF Application
2015-02-17 Creatd By BaoXinjian
- IntelliJ IDEA 15 部署Tomcat及创建一个简单的Web工程
一.部署Tomcat 二.创建一个简单的Web工程 2.1创建一个新工程 创建一个新工程 设置JDK及选择Web Application (创建的是Web工程) 点击Next,选择工作空间,起个工程名 ...
- 用django创建一个简单的sns
用django创建一个简单的sns 1.首先创建一个工程newsns django-admin.py startproject newsns 在工程目录下新建一个文件夹templates,在该文件夹下 ...
随机推荐
- spark快速开发之scala基础之5高阶函数,偏函数,闭包
高阶函数 高阶函数就是将函数作为参数或者返回值的函数. object function { def main(args: Array[String]): Unit = { println(test(f ...
- 判断JS的数据类型
typeof.instanceof. constructor. prototype方法比较 (摘自如何判断JS中的数据类型) 1. 使用typeof操作符. 对一个值使用 typeof 操作符可能返回 ...
- Python: 下载底层由Python2转Python3环境更新手记
谨记录运行环境改变过程中所碰到的坑. 下载底层运行环境由Python2移至Python3所遇到的问题及处理方法: 1.所引的第三方组件,基本都有替代支持:msvcr90.dll不再需要,有则报错2.引 ...
- 通过django的rest-framework……(CBV)
为什么不使用FBV,因为CBV重用性很高 先看一个例子: from django.views.generic.base import View from django.http import Http ...
- 725. Split Linked List in Parts把链表分成长度不超过1的若干部分
[抄题]: Given a (singly) linked list with head node root, write a function to split the linked list in ...
- 49-Python 安装pythoncom库和pyHook
这个直接用pip不行,所以借鉴了别人的方法: YTouchCoder 1. https://sourceforge.net/projects/pywin32/files/pywin32/ 这里面下载p ...
- 4412 uboot上手
1,了解 print 查看UBOOT软件的环境变量 (变量名=变量) setenv.saveenv setenv abc 100 200 设置 添加一个变量值 修改一个已有的变量 ...
- MongoDB、Hbase、Redis等NoSQL分析
NoSQL的四大种类 NoSQL数据库在整个数据库领域的江湖地位已经不言而喻.在大数据时代,虽然RDBMS很优秀,但是面对快速增长的数据规模和日渐复杂的数据模型,RDBMS渐渐力不从心,无法应对很多数 ...
- python中None与0、Null、false区别
None是Python中的一个关键字,None本身也是个一个数据类型,而这个数据类型就是None,它可0.空字符串以及false均不一样,这些都只是对象,而None也是一个类. 给个bool测试: v ...
- 容器启动脚本报错:exec user process caused "no such file or directory"
1.现象 standard_init_linux.go:: exec user process caused "no such file or directory" 2.原因 原因 ...