JMeter响应断言
JMeter中有个元件叫做断言(Assertion),它的作用和LoadRunner中的检查点类似。用于检查测试中得到的响应数据是否符合预期,用以保证性能测试过程中的数据交互与预期一致。 jmeter常用几种断言 Response Assertion(响应断言) Size Assertion(数据包字节大小断言) Duration Assertion(持续时间断言) beanshell 断言(自由断言) JSON断言 Response Assertion(响应断言)添加响应断言对Web请求的响应结果进行验证 输入需要匹配的字符串此处对于访问Baidu首页,需要设置匹配的字符串为“百度一下,你就知道”,表示返回的文本内容若包含有“百度一下,你就知道”,则就算Pass Response Assertion配置参数 模块类型 选项名称 配置说明 Name Response Assertion名称 Comments 注释 Apply to 断言应用的范围 Main sample and sub-samples 作用于父节点取样器及其子节点取...
ab压测工具使用
Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用 安装(centos)123yum -y install httpd-toolsorapt -y install apache2-utils ab参数说明1234567891011121314151617181920212223242526272829303132333435363738394041424344454647-n:一个要执行的次数。默认为1。【-n和-c一般成对出现。eg[-c 10 -n 1000]:同时处理10个请求,每组运行(1000/10)次,必须满足n能整除c】-c:单次发出的并发请求数。默认为1。【-n和-c一般成对出现。eg[-c 10 -n 1000]:同时处理10个请求,每组运行(1000/10)次,必须满足n能整除c】-t:测试所进行的最大秒数。用于测试的最大秒数是50000【等价于-n 50000】,它可以使对服务器的测试限制在一个固定的总时间以内。-p postfile:File containing data to POST. Remem...
结合cmd方式使用jmeter
使用命令行方式运行Jmeter前言命令行方式支持在多个环境下使用,windosw的dos环境下,也可以在linux环境上执行。 怎么用**执行路径:**执行命令前要检查当前目录是否是%JMeter_Home%\bin目录;如果 JMeter 脚本不在当前目录,需要指定完整的路径;如果要把执行的结果保存在其他地方也要指定完整的路径。命令中不指定测试计划与测试结果的路径时,默认都是在该目录下。 命令:jmeter -n -t <testplan filename> -l <listener filename> 示例测试计划与结果,都在%JMeter_Home%\bin目录1jmeter -n -t test1.jmx -l result.jtl 指定日志路径的1jmeter -n -t test1.jmx -l report\01-result.csv -j report\01-log.log 默认分布式执行1jmeter -n -t test1.jmx -r -l report\01-result.csv -j report\01-log.log ...
jmeter模拟浏览器行为发送请求(web页面端压力测试)
背景 在做性能测试的时候,有时候我们希望测试用户访问一个web页面的加载时间,使用 jmeter 压测的话,需模拟浏览器的行为,加载整个页面的内容。包含一些js,css,png图片资源等文件的加载。 参考: https://blog.csdn.net/meitingbee/article/details/53924469 https://blog.csdn.net/qq_27371025/article/details/117945423 https://www.jianshu.com/p/c5370860b142
把jmeter结果数据写入到指定文件
背景:在日常的功能测试或者性能测试的时候,需要把结果中指定的数据保存到指定的文件,进行使用. 示例围绕 beanshell 来实现这个功能 下面从两个方面来实现:保存接口返回指定的数据从数据库用 SQL 语句取数据,保存结果到指定文件中保存接口返回指定的数据接口:登录 需求:提取 token 值 新建 HTTP 请求 请求返回的结果,这里直接用 JSON 显示: 新建 JSON 提取器 调试,看有没有获取到值添加 debug sampler 运行,查看 debug sampler 响应数据里面 token 有没有取到值 添加 beanshell 取样器 代码1234567891011121314151617181920212223242526272829303132333435363738//指定需要写入到xxx文件,若没有该文件会新建;若存在该文件,多次执行将以追加模式展示File file = new File("D:/xxx.txt");if (!file.exists()) { //创建失败会抛出异常throw new IO...
jmeter线程组执行顺序设置
背景 当前请求需要上一个请求响应的数据做参数的值传入到当前请求里,这种情况必须保证上一个请求先执行,才能保证当前请求可以得到参数的值 操作 此示例为将登陆之后获取的cookie放置到全局变量中, 供后续线程组使用 按此配置后, 执行顺序会从上到下依次执行 注: 如果使用了不同的线程组可能会遇到非预期执行顺序的现象 除了主线程组,还有两种特殊的线程组:setUp线程组和tearDown线程组. 它们与主线程组区别在于,setUp线程在主线程执行前自动触发执行;而tearDown线程组在主线程结束后执行。 setUp线程组可以用于测试准备,比如用它来创建测试用户等。 Teardown线程组可以用于测试清理工作,比如删除测试用户等。
jmeter连接jdbc
数据库驱动包下载与安装 示例: 连接mysql 下载connectorhttps://dev.mysql.com/downloads/connector/j/ 安装下载完成后解压放到jmeter的lib/ext下 重启jmeter JDBC的连接配置添加配置元件-JDBC Connection Configuration 参数详解 Variable Name for created pool:自己定义连接数据库的名称, 需要记住, 这里会在后续使用jdbc request中用到Database URL:数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称,如:jdbc:mysql://localhost:3306/kyjurl后面的参数(可以不写)characterEncoding=utf8&useSSL=true&serverTimezone=UTC设置时区和编码格式JDBC Driver clas...
jmeter动态参数
使用csv作为动态参数的输入添加->配置元件->CSV Data Set Config添加动态参数。如下: CSV 文件的内容如下:这里随意写了几个。变量名列表。对应参数文件每列的变量名,类似Excel文件的文件头,起到标示作用,同时也是后续引用的标识符,建议采用有意义的英文标示。例如:loginToken可以被用变量名来引用:${loginToken}。多个变量名之间必须用分隔符分隔。如果该项为空,则文件首行会被读取并解析为列名。 12345loginToken111222233334444 Jmeter中配置如下: 参数解释 名称(Name ):脚本中显示的该元件的描述性名称,必须填写。 注释(Comments):对该元件的说明信息。(非必填写) 文件名(Filename ):待读取文件的名称。可以写入绝对路径,也可以写入相对路径(相对于bin目录或者脚本文件所在目录),如果直接写文件名,则该文件一定要放在bin目录中。对于分布式测试,主机和远程机中相应目录下应该有相同的CSV文件,必须填写。(建议填写相对路径,避免脚本迁移时需要修...
JMETER使用逻辑控制器
jmeter包含了如下多种控制器 使用方式 将请求包含在控制器内部 样例(当选中红框时,可以使用 groovy 执行beanshell 脚本。)groovy(官方建议使用方式) javascript 脚本方式(不勾选红框)
记一次项目压测
结合项目说下压测/调优 项目压测,cpu占用比较大,除了测试服务器本身的性能影响外,还存在项目本身的问题 这是服务器的配置 4core,8G,磁盘50g,作为一个高峰期并发不到1000的的项目,总的来说这个配置还能用.然后并发刚干到30,就这样了 最下面两条的是两台服务器内存.粉色的是项目所在服务器的cpu,蓝色是db cpu,项目占用cpu彪的太狠,所以展开调查 压测,将rate up时间弄得稍微长一点.项目是docker服务,jdk版本1.8 docker exec -it id bash :进入容器.需要进入容器操作jstack命令 jps -l:查看java服务pid,当然容器内部就一个服务包和openjdk jstack -l pid >> /opt/xxx.txt: 将堆栈信息打出来 通过jstat -gcutil pid查看M的值,即MetaSpace区使用率 通过jstat -gc pid 2s(间隔时间) 3(持续次数)命名查看MU/MC即Meta区的使用率 使用jstat -gccause p...
