2017-08-16 33 views
0

我一直在考察在Eclipse之上测试用Java编写的ERP应用程序。该应用程序带有自己的jre等。我没有访问源代码,但我现在从开发人员和我自己的研究中了解到,应用程序将其后端驻留在Amazon云上。jmeter无法从使用自己的代理的ERP应用程序捕获请求

设置我的jmeter代理后,我注意到它捕获了任何东西,而不是从我的ERP应用程序。 ERP应用程序只能绕过我设置的任何代理设置。

我注意到的唯一有趣的事情是,如果我在系统设置中将我的jmeter代理设置为SOCKS代理(或者只是运行ERP应用程序的VM的SOCKS代理),那么整个应用程序就会崩溃。

这使我相信应用程序可能在某种代理本身的后面,这会阻止jmeter捕获请求。

有没有人有任何建议?

回答

0

基本上你需要完成两个步骤:

  1. 开始JMeter的HTTP(S) Test Script Recorder。最简单的方法是使用JMeter Templates feature

    • 从JMeter的主菜单中选择File -> Templates -> Recording,然后单击“创建”
    • 展开​​并单击“开始”
  2. 配置您的应用程序使用的JMeter作为代理。据Java Networking and Proxies文章,你需要设置以下系统属性:

    http.proxyHost=localhost 
    http.proxyPort=8888 
    

    以防万一您的应用程序正在使用HTTPS传输:

    https.proxyHost=localhost 
    https.proxyPort=8888 
    

    的属性可以通过像-D命令行参数设置:

    java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 ... your application 
    

    或者您可以将它们添加到您的应用程序启动脚本。

+0

已经尝试设置HTTP和HTTPS的系统属性,但它们什么都不做,应用程序继续工作,但jmeter无法捕获任何请求。只有当我设置socksProxyHost和socksProxyPort时,应用程序实际上会因网络连接错误而崩溃。 – Toms

相关问题