当前位置: 首页 > 面试题库 >

JMeter-使用jar输出的URL加载测试

燕和同
2023-03-14
问题内容

我想使用JMeter来测试Java服务。但是,我要测试的URL必须动态生成(时间戳,有效负载哈希等)。我创建了一个可输出输出有效URL的自可执行jar。

java -jar file.jar

http://www.example.com/api?params=...

URL每次迭代都会更改。有没有一种方法可以配置JMeter来运行Jar以获取它发出的每个HTTP请求的URL?谢谢!


问题答案:

您需要使用以下各项的组合:

  1. OS Process Sampler(以产生实用程序JAR)
  2. 正则表达式提取器(获取生成的URL)

细节:

鉴于您的系统路径中有Java二进制文件,因此您需要:

在“线程组”下添加OS Process Sampler

  • 将Command设置为 Java (要完全确保键入Java二进制文件的完整路径,即“ d:\ apps \ java6 \ bin \ java.exe”)
  • 在“命令参数”下添加以下内容: -jar * your.jar *在单独的行中,最好还是使用jar的完整路径。
  • 在与OS Process Sampler相同级别上添加View Results Tree侦听器

如果您运行Thead Group,则应看到以下内容:

系统调用完成。进程输出:http :
//example.com/api?params= …。

我相信您对“ params =“之后的内容感兴趣

因此,要获得此值,请添加正则表达式提取器后处理器作为OS Process采样器的子代,并具有以下详细信息:

  • 参考名称-变量的任何有意义的名称,请设为“参数”
  • 正则表达式-http: //www.example.com/(。*)
  • 模板-$ 1 $

这将提取api?params = …,因此您可以将其用作$ {params}的HTTP请求的路径



 类似资料:
  • 我试图使用Jmeter来测试tibco ems服务的性能,我使用了JMS点对点和JMS publisher,但都没有成功。并得到以下错误: 响应消息:javax.naming.authenticationException:不允许:无效名称或密码[根异常是javax.jms.jmsSecurityException:无效名称或密码]

  • 我正在使用Jmeter对应用程序进行负载测试。否:线程数为100。 第一个HTTP请求是主页。第二个HTTP请求是进行实际登录的登录页面。有n个API。 我想要实现的是: 前100个线程同时出现在主页上。然后100个线程同时进入登录页面。然后100个线程同时运行第n个API。

  • 本文向大家介绍输入url后的加载过程相关面试题,主要包含被问及输入url后的加载过程时的应答技巧和注意事项,需要的朋友参考一下 查找域名对应IP地址 建立连接(TCP的三次握手) 构建网页 断开连接(TCP的四次挥手)

  • 问题内容: 我需要为应用程序的某些部分向现有应用程序添加插件功能。我希望能够在运行时添加jar,并且应用程序应该能够从jar中加载类,而无需重新启动应用程序。到目前为止,一切都很好。我使用URLClassLoader在线找到了一些示例,并且运行良好。 我还希望能够在罐子的更新版本可用时重新加载相同的类。我再次发现了一些示例,据我所知,实现此目标的关键是我需要为每个新负载使用一个新的类加载器实例。

  • 以下示例将展示使用url从Web获取HTML,然后查找其数据。 语法 (Syntax) String url = "http://www.google.com"; Document document = Jsoup.connect(url).get(); 哪里 document - document对象表示HTML DOM。 Jsoup - 连接url并获取HTML String的主类。 url

  • 我想解析一个网站的一个段落。我想分析post div中的第一段: 我正在使用AsyncTask检索数据。这是doInBackground功能: 然而,我总是在Logcat中看到这一点: java.io.:-1错误加载URLhttp://www.vaccinestoday.eu/diseases/disease/rabies/ 在org。jsoup。帮手HttpConnection$响应。在org上