我们有一个场景,我们需要登录并导航到Android原生应用程序的主屏幕。在记录场景之后,在请求中我们看到参数及其值被捕获,即使在头管理器中也不可用。它显示" generate_204 /"它隐藏了吗?我如何进一步推进脚本编写?
答案 0 :(得分:0)
您不应该向Google域录制请求。
查看Network Portal Detection文章至少Chromium操作系统使用http://clients3.google.com/generate_204
网址来检查它是在线还是被俘。
调查curl命令输出
yngwie$ curl -v http://clients1.google.com/generate_204
* Trying 172.217.16.46...
* TCP_NODELAY set
* Connected to clients1.google.com (172.217.16.46) port 80 (#0)
> GET /generate_204 HTTP/1.1
> Host: clients1.google.com
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 204 No Content
< Content-Length: 0
< Date: Mon, 11 Jun 2018 04:56:37 GMT
<
* Connection #0 to host clients1.google.com left intact
是空请求,返回HTTP 204 (No Content)响应。
因此,您应该从录制中排除这些来电(可选但建议)并重播(强烈推荐),因为此调用与您的应用程序没有任何共同之处。
如果您无法看到应用程序流量 - 很可能您的应用程序使用HTTPS protocol与后端进行通信,则需要在移动设备上安装JMeter的自签名证书才能够解密并记录HTTPS流量。有关详细信息,请参阅HTTP(S) Test Script Recorder用户手册条目的 HTTPS录制和证书章节。
还要注意记录JMeter测试的另一种方法,在这种情况下,您不必担心SSL证书,而且您将能够在SmartJMX模式下导出测试,并自动检测和关联任何动态参数。有关详细信息,请参阅How to Cut Your JMeter Scripting Time by 80%。