我需要在代理后面使用Java以编程方式运行Jmeter。问题在于我需要使用HTTPS。
我已在以下网站阅读了手册:http://jmeter.apache.org/usermanual/get-started.html我已经使用Jmeter几个月了,感觉很舒服,但问题是在我需要切换到HTTPS时开始的。
我试过以下方法:(分别和一起)
我知道,我可以使用命令行以-H-P作为参数运行JMETER(这是可行的),但这不是我使用JMETER的方式——我只以编程方式使用它,因此这不是一个选项。
这是一个描述与我的问题有关的已知JAVA错误的片段:
Java HTTP实现有一些限制:无法控制连接的重用方式。当连接中断时
错误链接:http://bugs.java.com/view_bug.do?bug_id=6226610
我读过这个bug,发现“JavaSE开发工具包8u131”可以解决这个问题——所以我下载了它,可惜它一点帮助都没有。
我将非常感谢您的帮助。
感谢
伊加尔
如果从单独的Java程序运行JMeter,则需要将代理参数传递给该Java程序。有几种方法可以实现这一点,查看我们的Java Networking and Proxies文章以获取全面信息,您似乎非常喜欢通过代码完成所有工作,所以在启动JMeter测试之前,只需添加以下几行代码:
System.setProperty("http.proxyHost","your_proxy_host");
System.setProperty("http.proxyPort", "your_proxy_port");
System.setProperty("https.proxyHost","your_proxy_host");
System.setProperty("https.proxyPort","your_proxy_port");
System.setProperty("http.nonProxyHosts","");
以防万一,完整的代码演示了如何使用JMeter API通过JMeter的HTTP(S)测试脚本记录器作为代理运行现有的JMeter测试
import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.reporters.ResultCollector;
import org.apache.jmeter.reporters.Summariser;
import org.apache.jmeter.save.SaveService;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.collections.HashTree;
import java.io.File;
public class JMeterFromCode {
public static void main(String[] argv) throws Exception {
//Define JVM Proxy Settings
System.setProperty("http.proxyHost", "localhost");
System.setProperty("http.proxyPort", "8888");
System.setProperty("https.proxyHost", "localhost");
System.setProperty("https.proxyPort", "8888");
System.setProperty("http.nonProxyHosts", "");
// JMeter Engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
// Initialize Properties, logging, locale, etc.
JMeterUtils.loadJMeterProperties("/tmp/jmeter/bin/jmeter.properties");
JMeterUtils.setJMeterHome("/tmp/jmeter");
JMeterUtils.initLocale();
// Initialize JMeter SaveService
SaveService.loadProperties();
// Load existing .jmx Test Plan
HashTree testPlanTree = SaveService.loadTree(new File("/tmp/jmeter/bin/test.jmx"));
Summariser summer = null;
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
if (summariserName.length() > 0) {
summer = new Summariser(summariserName);
}
ResultCollector logger = new ResultCollector(summer);
logger.setFilename("/tmp/jmeter/test.jtl");
testPlanTree.add(testPlanTree.getArray()[0], logger);
// Run JMeter Test
jmeter.configure(testPlanTree);
jmeter.run();
}
}
我正在使用NetBeans IDE 8.2和Maven 3.5.0。当NetBeans的一个操作试图下载插件时,它会失败: 下载:https://repo.maven.apache.org/maven2/org/codehaus/mojo/xml-maven-plugin/1.0/xml-maven-plugin-1.0.pom 我在以下位置定义了代理: NetBeans:工具->选项->常规 C
为您重复使用的命令行任务设置快捷方式。如果你发现自己需要在命令行中重复输入同样的东西,那么设置命令行快捷方式非常有必要。 TL;DR 使命令行为您工作;创建容易记住和快速键入的别名。 尝试保存 Github dotfiles 项目,共享和同步您的命令行快捷方式。 如何设置快捷方式 创建命令行快捷方式的最简单的方法是将常用命令的别名添加到bashrc文件。 在Mac或Linux上: 从命令行的任何位
问题内容: 我已经习惯于完美地对齐表单字段。这是我通常编写表单的方式: 我知道这是不好的做法,我 想 使用CSS, ,,或清洁方法。但是,事实是,对于表格来说,效果非常好。一切都完全正确地对齐,间距是完美的,所有错误都在彼此之间,等等。 我最近尝试为表单使用and 标记,但是由于它们看起来好多了,我最终返回到表。 不使用s 如何获得这种对齐的表格布局? 问题答案: 这可能不会得到很多支持,但这是我
问题内容: 我想在不使用设置器的情况下将值插入变量。如果有可能怎么办。 这是一个例子 现在我有一个包含,和的函数。 我试图使用一种通用方法将值设置为Object(objectOfClass),而值我已经在相应的variable()中通过了()。 问题答案: 此代码未经测试。你可以试试看 要导入的类 方法
问题内容: 我想在Eclipse中编译我的Java程序,但不想运行它。我不知道该怎么做。 如何在不运行Eclipse的情况下将Java程序编译为文件? 问题答案: 您可以在项目菜单中自动取消选中构建,然后通过按Ctrl + B或单击打印机图标右侧出现的图标手动构建。
问题内容: 我的问题很简单 如何以编程方式设置我的按钮layout_gravity? 我在互联网上找到了它,但它只是抛出了一个Nullpointer异常: 有什么办法吗? 问题答案: Java Kotlin 有关重力值以及如何设置重力,请检查“重力”。 基本上,您应该选择依赖于父项。可以是等等。