jmeter无法捕获使用自己的代理的ERP应用程序的请求

时间:2017-08-16 15:02:33

标签: performance jmeter load socks

我一直在研究在Eclipse之上测试用Java编写的ERP应用程序。该应用程序带有自己的jre等。我无法访问源代码,但我现在可以从开发人员和我自己的研究中了解应用程序将其后端托管在Amazon云上。

设置我的jmeter代理后,我注意到它从chrome中捕获了任何内容,但没有从我的ERP应用程序中捕获。 ERP应用程序能够绕过我设置的任何代理设置。

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

这让我相信应用程序可能会支持某种代理本身,这会阻止jmeter捕获请求。

有人有任何建议吗?

1 个答案:

答案 0 :(得分:0)

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

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

    • 从JMeter的主菜单中选择File -> Templates -> Recording,然后点击“创建”
    • 展开Workbench -> HTTP(S) Test Script Recorder,然后点击“开始”
  2. 配置应用程序以将JMeter用作代理。根据{{​​3}}文章,您需要设置以下系统属性:

    http.proxyHost=localhost
    http.proxyPort=8888
    

    以防您的应用程序使用HTTPS传输:

    https.proxyHost=localhost
    https.proxyPort=8888
    

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

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

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