Android:有没有办法以编程方式伪造连接不良

时间:2016-07-12 15:07:35

标签: android

我目前正在进行测试,我想在使用浓缩咖啡进行测试时模拟连接不良。有没有办法在代码中伪造这个?

在我的应用程序中,当有呼叫api时,我会启动动画,我只想确保连接不良时此动画将一直运行,直到收到所有数据。

我正在寻找一个代码解决方案,我知道一些不同的解决方法或使用模拟器,我真的在寻找代码中的东西。

4 个答案:

答案 0 :(得分:5)

您可以在网络部分的模拟器设置中进行设置: enter image description here

答案 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()函数中更新您的视图。