博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jmeter学习笔记(一)
阅读量:6251 次
发布时间:2019-06-22

本文共 2250 字,大约阅读时间需要 7 分钟。

1.添加JSON Path Extractor 

>>下载地址:http://jmeter-plugins.org/downloads/all/,下载 JMeterPlugins-ExtrasLibs-X.X.X.zip下载

>>解压,将lib和lib/ext中的jar包放到安装目录对应位置,重启。

 

2.参数不能输入中文,且返回的json中包含中文的,在断言中显示为乱码。

>>不适用json断言,使用‘响应断言’

 

3.提示:No Jwt Token attached

>>添加http信息头管理器,添加相关jwt信息

 

4.报9999

>>参数中的数据与数据库中数据不一致

 

5. BeanShell PreProcessor处理加密

1):在eclipse写好需要的加密代码,然后把该类打成jar包(在类上点击右键->Export->jar file)

2):把jar包放到jmeter目录\apache-jmeter-2.13\lib\ext下或在测试计划中的Add directory or jar to classpath 选择jar文件引入;

3):添加一个http请求,在http请求中添加前置处理器BeanShell PreProcessor;

4):在BeanShell PreProcessor中添加代码:例:

import test.SHACodeHelper; 

 

import java.security.MessageDigest;

 

import javax.xml.bind.annotation.adapters.HexBinaryAdapter;

 

 

System.out.println("*****加密*****");

String password = "11111111";

String pass = SHACodeHelper.encodeSHA256(password);//调用工具类中的方法进行加密

System.out.println("Set my pass");

vars.put("pass",pass);//把值保存到jmeter变量pass中

String getPass=vars.get("pass");

System.out.println("Get my pass: " + getPass);

 

6.使用jmeter录制脚本

1).点击工作台,添加http代理服务器;

2).设置端口号:例如8888,8080,选择目标控制器和分组

 

3). 设置一下IE浏览器

IE--->“internet属性”--->“连接”--->“局域网设置”

设置地址为:127.0.0.1,端口号为步骤2中配置的端口号

4)在jmeter的http代理服务器中点击启动,打开浏览器,输入要录制的地址

 

7.jmeter录制时提示不受信任DLG_FLAGS_INVALID_CA;

解决:重启ie,重新关闭连接设置又打开

 

8.读取csv文件的第一行报错,同样的值放在第二行就正常

解决:使用notepad++,去掉第一行重新保存成新的文件

 

9.解决返回值或关系的断言:

方法一:在响应断言中使用正则,例如:"result":[0-1]{1}

方法二:下载jmeter3.2版本;

方法三:使用beanshell断言,添加判断代码,例如:

if ("${result}" == "0"){

       SampleResult.setSampleLabel("result=0");

   

}else if("${result}" == "1"){

    SampleResult.setSampleLabel("res=1");

}else{

    SampleResult.setSampleLabel("error");

}

10.在jmeter中使用js获取当前时间:

方法1.${__javaScript((new Date()).getFullYear()+'-'+ ((new Date()).getMonth()+1) + '-' + (new Date()).getDate(),)}

方法2:${__time(yyyy-MM-dd,)}

11. JVM参数优化

修改jmeter.bat(windows下),jmeter.sh(linux下)

我优化后使用的参数是

JVM_ARGS="-Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseCompressedOops"

12.提取JDBC请求获取的值

填写JDBC REquest中的Variable names,如username,引用时写作"${username_取的第几个行}",如,获取第一行,写作"${username_1}"

转载于:https://www.cnblogs.com/baozixiaobaozi/p/6908062.html

你可能感兴趣的文章
Java规则引擎及JSR-94[转]
查看>>
【c学习-13】
查看>>
给报表增加页眉
查看>>
Mysql配置参数说明
查看>>
python ----字符串基础练习题30道
查看>>
K 班1-7,alpha,beta 作业成绩汇总
查看>>
uva-10879-因数分解
查看>>
清空表且自增的id重新从0开始
查看>>
[杂记]如何在LaTeX里插入高亮代码
查看>>
「常微分方程」(阿諾爾德) Page 6 問題4 經過擴張相空間的每一點有且僅有一條積分曲線...
查看>>
同一个闭区间上有界变差函数的和与积都是有界变差函数
查看>>
java安全证书配置
查看>>
使用erlang 建立一个自动化的灌溉系统(1)准备工作
查看>>
python 调用aiohttp
查看>>
mysql 案例~ mysql故障恢复
查看>>
Spring Boot中使用MyBatis注解配置详解
查看>>
MatLab实现FFT与功率谱
查看>>
答《漫话ID》中的疑问:UniqueID和ClientID的来源
查看>>
【转】Asp.net控件开发学习笔记整理篇 - 服务器控件生命周期
查看>>
Linux下的shell编程(一)BY 四喜三顺
查看>>