Jmeter常见问题总结(一)

1.1. HTTP报错解决办法

java.net.SocketException。先确认不是自己的服务导致的错误;当出现这种问题是,可以按照以下步骤来完成。

(1)HTTP请求组件的HTTP请求IMPLEMENTTATION选择HTTPCLIENT4HTTPCLIENT3容易出现重连接的问题。而当我们这里不选的时候,默认会有选择,这个是配置文件jmeter.properties中的jmeter.httpsampler配置项。

(2)修改bin文件夹内的user.properties增加:httpclient4.retrycount=1,hc.parameters.file=hc,patameters

(3)修改hc.parameters。修改http.connection.stalechech$Boolean=true

(4)重启jmeter

1.2. 录制脚本,启动代理后,浏览器就报java.net.SocketException:Connetion reset

jmeter.properties中找到,将https.default.protocol=SSLv3直接改为https.default.protocol=TLSv1.2

1.3. 条件判断中使用JavaScript语法

$(__javaScript(“${diagResult}” != “true”))

1.4. 设置SSL证书和证书密码

BeanShell SamplerBeanShell PreProcessor中填入以下信息(设置在仅一次控制器下):

  import org.apache.jmeter.util.SSLManager;

System.setProperty(“javax.net.ssl.keyStore”,”D\V1R2C30\practiceData\TDKeyStore.jks”);

System.setProperty(“javax.net.ssl.keyStorePassword”,”tdv1r2keypass”);

// System.setProperty(“javax.net.ssl.trustStore”,”D\V1R2C30\apache-jmeter-3.1\Server-TrustStore.jks”);

SSLManager.reset();

SSLManager.getInstance();

1.5. BeanShell PreProcessor使用

注意:(1)每个语句后面都要有分号结束;(2jmeter中变量都是string类型,如果引用进来的不是string类型,赋值给jmeter中变量时要转换为string(string1.toSting()函数)

(1)引用java文件

source(“D:\workspaceIDEA\src\testAdd.java”);

int result = new testAdd().add(2,3);

vars.put(“result”,result.toString());

log.info(“The result is:” + result);

(2)引用上下文中的变量

  先在BeanShell Sampler的“参数”行输入要引用的变量,如果有多个,用空格分开。如,${test1}  ${test2}。

vars.put(“args1”,bsh.args[0]);

(3)引用Class文件

addClassPath(“D:\workspaceIDEA\out\production\workspaceIDEA\”);

import testAdd;

int numClass = new testAdd().add(20.30);

vars.put(“numClass”,numClass.toString());

(4)引用jar

jar包放在jmeterext目录下或者在testPlan处添加jar包路径。

import Hello.testAdd;

int numJar = new testAdd().add(10,20);

vars.put(“numJar”,numJar.toString());

原文地址:https://www.cnblogs.com/yahutiaotiao/p/8215452.html