我有一个在iPhone模拟器本地运行的客户端程序和用Java编写的本地服务器。客户端通过HTTP请求与服务器通过JSON进行通信。现在我正在尝试使用JMeter记录客户端会话http请求,以将它们用作加载测试服务器的基础。
问题是客户端请求不会抛出JMeter代理。客户端获得501“方法未实现”(这不是因为https,我使用的是http)。 JMeter日志中没有任何关于请求的内容,显然JMeter中没有记录任何内容,请求也没有到达服务器。
有很好的描述步骤来设置JMeter代理来记录来自浏览器的请求,但我的客户端程序不是浏览器。虽然JSON over HTTP是广泛采用的方法,但我在网上找不到有关使用JMeter记录此类请求的任何内容。我理解我需要在客户端做与代理请求时浏览器相同的事情,我发现它是我需要将Host头设置为服务器的主机和端口,但是这不起作用我看不清楚是怎么回事它与501错误客户端获取有关。
如果有人可以解释在客户端应该做什么,或者如何配置JMeter让它知道代理客户端请求的位置或链接任何解释它的手册,那将是很好的帮助。我已经找了几个小时的解决方案,没有运气。请帮忙。
答案 0 :(得分:0)
你可以看到我的问题和我在下面得到的答案:
Use Jmeter proxy to record HTTP calls from iOS simulator
简而言之: 通过本教程,您可以记录来自Android设备的呼叫: http://blazemeter.com/blog/load-testing-mobile-apps-made-easy
为了与iPhone做同样的事情,请执行以下步骤:
Mac配置:
系统偏好设置 - >网络 - >高级.. - >代理 - >在“Web代理服务器”字段中选中“Web代理(HTTP) - >”,键入您的IP(http://www.wikihow.com/Find-Your-IP-Address-on-a-Mac),然后选择可用端口(我使用的是8080) - > ok - >应用
iPhone配置:
设置 - > WiFi - >选择与Mac一起使用的相同wifi - >再按一下去查看它的详细信息 - >向下滚动 - >在HTTP代理中,选择手动 - > server =您之前找到的mac IP - > port =您选择的端口(可能是8080)
现在您可以使用jmeter录音控制器
开始录制所有“iPhone网络输出”