软件测试实验三Jmeterwalkerlm@mail.
ustc.
edu.
cnJmeteragendaJmeter简介Jmeter安装脚本录制脚本开发Web压力测试数据库测试性能测试上机实验习题Jmeter简介-概述Jmeter是Apache组织的开放源代码项目,是纯java应用程序,是功能测试和性能测试的工具.
Jmeter最早是为了测试Tomcat的前身Jserver的执行效率而诞生的.
目前其测试能力不仅局限于对Web服务器的测试,而是涵盖了数据库,JMS,WebService,LDAP等对种对象的测试能力.
Jmeter可以用于测试静态或是动态资源的性能(静态文件,Servlets,java对象,Perl脚本,数据库和FTP服务器等).
可以用于针对服务器,网络或对象上模拟大量并发负载来进行压力强度测试.
可以分析不同压力负载下的整体性能情况,包括性能的图形分析.
Jmeter简介-特点Jmeter支持范围广泛:多协议-HTTP/TCP/FTP/JDBC/SOAP/LDAP/MAIL;跨平台-所有支持JVM的平台都可以运行Jmeter;多语言-所有支持BeanScriptFramework的脚本语言;内部实现线程机制(线程组),不用编写并发负载过程代码;提供丰富的逻辑控制器,控制线程的运行;产生相应测试结果的统计报表.
Jmeter简介-优势不依赖于界面,通过API调用或参数传递来增加并执行测试用例;不需要编写测试脚本,只需要熟悉业务流程和http请求,根据input对象编写测试用例;跳过页面限制,直接向后台程序添加非法数据;利用badboy录制测试过程,快速生成测试脚本;运用参数化以及函数功能,快速完成添加修改测试数据.
Jmeter安装Jmeter官方网站http://jakarta.
apache.
org/jmeterdownloadsrelease->browsedownloadarea->binaries->jakarta-jmeter-2.
3.
4.
zip选择最新版本jakarta-jmeter-2.
3.
4.
zip;需要JDK1.
4以及以上版本;Jmeter安装目录解压jakarta-jmeter-2.
3.
4.
zip生成安装目录;选择最新版本jakarta-jmeter-2.
3.
4.
zip;需要JDK1.
4以及以上版本;Jmeter安装目录Bin目录运行Jmeter.
bat即可看见JmeterGUI客户端;注意:1.
内存≥512M,使用默认参数内存Http代理服务器配置Http代理服务器代理服务器端口:8000目标控制器:录制脚本的存放位置选择默认值分组:将请求汇总分组,把url请求理解为组不对样品分组:罗列所有请求在组间添加分割:加入一个虚拟的,以分割线命名的动作.
每个组放入一个控制器:执行时按控制器定义输出结果只存储每个组的第一个样本:对于一次url请求,实际很多次http请求的情况.
一般选择只存储每个组的第1个样本.
配置Http代理服务器记录HTTP信息头:录制request的head信息添加断言:录制时,加入空的检查点(自行填写)Regexmatching:录制时,加入空的正则匹配.
包含模式和排除模式:过滤一些不需要的访问请求.
通过配置浏览器的代理服务器,使得所有访问请求通过Jmeter发送,Jmeter将访问过程全部录制下来.
浏览器设置浏览器设置打开浏览器添加代理填写本机IP或是hostname,端口填写为设置的8000将IE设置为代理在浏览器中键入待录制页面的URL,然后对该页面进行操作Jmeter会自动将所进行的操作转化为脚本.
Jmeter脚本开发测试计划测试计划描述了执行测试过程中JMeter的执行过程和步骤,一个完整的测试计划包括一个或者多个线程组(ThreadGroups)、逻辑控制(LogicController)、实例产生控制器(SampleGeneratingControllers)、侦听器(Listener)、定时器(Timer)、比较(Assertions)、配置元素(ConfigElements).
打开JMeter时,它已经建立一个默认的测试计划,一个JMeter应用的实例只能建立或者打开一个测试计划.
Jmeter脚本开发JMeter的主要测试组件总结如下:1.
测试计划是使用JMeter进行测试的起点,它是其它JMeter测试元件的容器.
2.
线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求.
实际的请求内容在Sampler中定义,它被线程组包含.
3.
监听器负责收集测试结果,同时也被告知了结果显示的方式.
4.
逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列.
5.
断言可以用来判断请求响应的结果是否如用户所期望的.
它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试.
这个限制对于有效的测试是非常有用的.
6.
配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容.
7.
前置处理器和后置处理器负责在生成请求之前和之后完成工作.
前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据.
8.
定时器负责定义请求之间的延迟间隔.
Jmeter脚本开发填充一个测试计划的内容,这个测试计划向一个jsp文件和一个servlet发出请求,我们需要JMeter模拟五个请求者(也就是五个线程),每个请求者连续请求两次,下面介绍了详细的操作步骤.
Jmeter脚本开发增加负载信息设置模拟五个请求者,每个请求者在测试过程中连续请求两次.
选中可视化界面中左边树的测试计划节点,单击右键,选择增加线程组,界面右边将会出现他的设置信息框.
线程组有三个和负载信息相关的参数:线程数:设置发送请求的用户数目.
Ramp-upperiod:每个请求发生的总时间间隔,单位是秒.
比如你的请求数目是5,而这个参数是10,那么每个请求之间的间隔就是10/5即2秒.
循环次数:请求发生的重复次数,如果选择后面的forever(默认),那么请求将一直继续,如果不选择forever而在输入框中输入数字,那么请求将重复指定的次数,如果输入0,那么请求将执行一次.
Jmeter脚本开发Jmeter脚本开发增加默认Http属性(可选)实际的测试工作往往是针对同一个服务器上Web应用展开的,所以Jmeter提供了这样一种设置,在默认Http属性设置需要被测试服务器的相关属性,以后的http请求设置中就可以忽略这些相同参数的设置,减少设置参数录入的时间.
Jmeter脚本开发选中可视化界面中左边树的测试计划节点,单击右键,选择配置元件-Http请求默认值,界面右边将会出现他的设置信息框.
默认http属性的主要参数说明如下:protocal:发送测试请求时使用的协议servernameorip:被测试服务器的ip地址或者名字path:默认的起始位置.
比如将path设置为/jmeter,那么所有的http请求的url中都将增加/jmeter路径.
portnumber:服务器提供服务的端口号Jmeter脚本开发测试计划将针对本机的Web服务器上的Web应用进行测试,所以protocal应该是http,ip使用localhost,因为这个web应用发布的context路径是/jmeter,所以这里的path设置为/jmeter,因为使用Tomcat服务器,所以portnumber是8000.
设置后的屏幕截图如下:Jmeter脚本开发Jmeter脚本开发增加Http请求选中可视化界面中左边树的线程组节点,单击右键,选择添加Sampler-Http请求,界面右边将会出现其设置信息框.
参数和http属性差不多,增加的属性中有发送http时方法的选择,可以选择为get或者post.
Jmeter脚本开发Jmeter脚本开发增加监听器选中可视化界面中左边树的测试计划节点,单击右键.
选择增加监听器-查看结果树,可以查看每个链接的执行情况,包括发出的请求和服务器返回的详细内容.
选择增加监听器-用表格查看结果,可以查看到每个链接的执行情况,包括执行时间与成功与否.
选择增加监听器-聚合报告,可以查看每个线程组的最大,最小和平均响应时间.
如何低价香港服务器购买?想要做一个个人博客,想用香港服务器,避免繁琐备案,性能不需要多高,只是记录一些日常而已,也没啥视频之类的东西,想问问各位大佬有没有低价的香港服务器推荐?香港距大陆近,相比美国服务器最大的优势在于延迟低,ping值低,但是带宽紧张,普遍都是1M,一般戏称其为“毛细血管”。同时价格普遍高,优质稳定的一般价格不菲。大厂云梯队阿里云、腾讯云两家都有香港服务器,要注意的是尽量不要选择...
轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。活动规则:用户购买任意全区域云服务器月付以上享受免费更换IP服...
这次RackNerd商家提供的美国大硬盘独立服务器,数据中心位于洛杉矶multacom,可选Windows、Linux镜像系统,默认内存是64GB,也可升级至128GB内存,而且硬盘采用的是256G SSD系统盘+10个16TSAS数据盘,端口提供的是1Gbps带宽,每月提供200TB,且包含5个IPv4,如果有需要更多IP,也可以升级增加。CPU核心内存硬盘流量带宽价格选择2XE5-2640V2...