我想测试我的应用程序的低网络连接的情况。除了站在电梯里,还有什么最好的方法呢?我试过用铝箔纸包我的手机,但没有用。
我需要在真正的设备上测试它,而不是在模拟器上。
我想测试我的应用程序的低网络连接的情况。除了站在电梯里,还有什么最好的方法呢?我试过用铝箔纸包我的手机,但没有用。
我需要在真正的设备上测试它,而不是在模拟器上。
当前回答
在模拟器中测试低/坏连接的应用程序的简单方法:
运行>运行配置,选择Android应用程序,然后进入目标选项卡。 查看模拟器启动参数。在这里,您可以轻松地修改网络速度和网络延迟。
其他回答
我正在使用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
你可以在这里找到一个简单的教程。
您可以在这里找到其他脚本示例。
在Android Studio中打开终端,进入../../Android/sdk/tools。'模拟器'可执行文件应该在这里可用。 运行。/emulator -netdelay "delay_in_millis" -avd "emulator_device_name" 例如:./emulator -netdelay 60000 -avd Nexus_5_API_21 现在构建应用程序并将其安装在模拟器中。 在应用程序中运行您的场景。
确保你有你的代码变化在应用程序设置超时你的请求和处理。
我需要在AndroidTV本机设备上限制低网络,根据我所读到的,最合适的解决方案是直接在我的路由器上限制互联网访问。 进入路由器设置(本地是smth,如192.168.0.1)->设置DHCP服务器(如果没有运行)->选择设备的IP地址并设置限制;
或者在一个实际的设备上,你可以去设置->移动网络->首选的网络类型,并选择可用的最慢的… 当然,这是非常有限的,但对于某些测试目的,这可能足够了。
对于mac操作系统用户,你可以使用网络链接调节器,可以从苹果下载。将其设置为mac上的AP,任何设备都可以连接它。
你可以使用facebook的开源工具ATC http://facebook.github.io/augmented-traffic-control/