jmeter中的ClientProtocolException

时间:2017-03-20 11:47:25

标签: testing jmeter

我是第一次测试和使用jmeter的新手。使用these steps我试图用jmeter记录移动设备脚本。我已完成以下步骤:

  1. 打开JMeter并右键单击TestPlan>添加>主题(用户)>线程组。
  2. 右键单击“线程”组>“添加>逻辑控制器>录制控制器”。
  3. 右键点击主题>添加>监听器>查看结果树。
  4. 选择添加>非测试元素> HTTP(S)测试脚本记录器选项,添加测试脚本记录器。
  5. 将“8080”添加为“端口”值,然后单击“开始”按钮。这将在localhost上启动JMeter代理。
  6. 但是当我检查浏览器(https://localhost:8080)上的服务器状态时,会出现以下错误:

      

    org.apache.http.client.ClientProtocolException:URI未指定有效的主机名:https:////       在org.apache.http.impl.client.AbstractHttpClient.determineTarget(AbstractHttpClient.java:817)       在org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)       at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:517)       at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:331)       at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)       at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146)       在org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:240)

1 个答案:

答案 0 :(得分:0)

您不应该在浏览器中打开https://localhost:8080网址,您需要将移动设备配置为使用机器,其中JMeter作为代理主机运行,8080作为代理端口运行。

如果要测试HTTP(S)测试脚本记录器 - 配置浏览器使用localhost作为代理主机,8080作为代理端口并打开一些内部网或Internet页面 - 您应该看到录音控制器下的请求。

您可以使用Templates功能快速设置JMeter进行录制,只需从JMeter的主菜单中选择File -> Templates -> Recording -> Create,即可在几秒钟内准备录制JMeter(默认代理端口)在此设置中将为8888

如果您的目标是在移动设备上记录HTTPS流量,您还需要在其上安装JMeter的自签名证书。在JMeter的bin文件夹中查找ApacheJMeterTemporaryRootCA.crt文件,通过电子邮件将其发送给自己,在移动设备上打开电子邮件,然后按照您的移动操作系统对话框安装它。

有关使用JMeter正确记录移动设备流量的详细信息,请参阅Load Testing Mobile Apps Made Easy指南