我目前正在进行测试,我想在使用浓缩咖啡进行测试时模拟连接不良。有没有办法在代码中伪造这个?
在我的应用程序中,当有呼叫api时,我会启动动画,我只想确保连接不良时此动画将一直运行,直到收到所有数据。
我正在寻找一个代码解决方案,我知道一些不同的解决方法或使用模拟器,我真的在寻找代码中的东西。
答案 0 :(得分:5)
答案 1 :(得分:0)
真实设备测试的解决方法:如果您有iPhone,则可以创建iPhone热点并使用iPhone bad network simulation。
答案 2 :(得分:0)
模拟的另一种方法是使用类似charles的东西,非常好,如果你不想或不能使用模拟器,这不是程序的主要目的(主要用于http测试)但也可以用于此。
我不确定,但我认为Android 6.0或三星(某人更正此声明plz)将其作为开发人员设置中的一个选项。
还有降低Mac连接速度的程序,因此您可以使用蓝牙与设备共享您的互联网连接,缺点是测试时孔PC互联网速度很慢。这不是很方便。
答案 3 :(得分:0)
更新1:
您可以使用
在espresso中添加延迟SystemClock.sleep(10000);
没有尝试过。你能在这里尝试更新吗?
更新2:
http://droidtestlab.com/delay.html此链接可能有用。
根据建议,您应该能够通过模拟器或使用像charles这样的方式来模拟网络速度。如果您希望通过代码延迟延迟(我希望仅用于测试目的,就像您在更新后的问题中提到的那样),您可以在网络请求结束后和使用该数据更新视图之前使用Handler和runnable。 / p>
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
}
}, 10000); // 10sec delay
并在Runnable的run()函数中更新您的视图。