jmeter学习笔记

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}"

posted @ 2017-05-26 13:27  小包子就是我  阅读(538)  评论(0编辑  收藏  举报