我想测试我的应用程序的低网络连接的情况。除了站在电梯里,还有什么最好的方法呢?我试过用铝箔纸包我的手机,但没有用。
我需要在真正的设备上测试它,而不是在模拟器上。
我想测试我的应用程序的低网络连接的情况。除了站在电梯里,还有什么最好的方法呢?我试过用铝箔纸包我的手机,但没有用。
我需要在真正的设备上测试它,而不是在模拟器上。
当前回答
我有个办法解决你的问题。您可以使用代理程序来修改或监视您的网络状态。例如,查尔斯。
你应该改变默认配置的查尔斯像下面的图片我张贴。
最后,你会发现网速已经被塑造成较低的速度。
其他回答
Android工作室AVD更新:
开放式AVD管理器 创建/编辑AVD 点击高级设置 选择您首选的连接设置
没有微波炉和电梯:)
这听起来可能有点疯狂,但微波炉是作为微波屏蔽的。因此,把你的设备放在微波炉里(当你的设备在里面的时候不要打开微波炉!)会导致你的信号强度显著下降。这绝对比站在电梯里强……
我有个办法解决你的问题。您可以使用代理程序来修改或监视您的网络状态。例如,查尔斯。
你应该改变默认配置的查尔斯像下面的图片我张贴。
最后,你会发现网速已经被塑造成较低的速度。
正如@VicVu Charles(或任何其他代理工具)所建议的那样,是一种更简单的方法。但我想补充的是,你也可以在你的设备上做到这一点,而不仅仅是genymotion或其他模拟器。过程是一样的:
修改您的设备/模拟器的wifi设置以使用手动代理。然后设置代理主机名和端口 A.将主机名设置为您系统的IP(使用ifconfig/ifconfig获取您pc/mac的IP) B.设置genymotion端口号(查看charles中的proxy Settings)
PS:你的设备/模拟器必须使用相同的wifi,因为你正在使用的ip很可能是私有ip。
我正在使用mitmproxy HTTPS代理。https://mitmproxy.org/
Mitmproxy是一个开源代理应用程序,允许拦截任何HTTP(S)客户端之间的HTTP和HTTPS连接。它允许实时监控、捕获和改变这些连接。更改请求,响应,报头,… 此外,您还可以拦截不同的请求。
例如response_delay.py:
from mitmproxy import http
from time import sleep
def response(flow: http.HTTPFlow) -> None:
sleep(5.0)
然后执行这个注释会延迟来自服务器的所有响应:
mitmproxy --cert \*.asdf.at=./cert.pem --scripts response_delay.py
在我的应用程序中,我使用证书钉住,所以你需要添加证书(私有+公共) 猫私人。关键的公众。密钥> cert.pem
你可以在这里找到一个简单的教程。
您可以在这里找到其他脚本示例。