Art*_*lin 18 android robotium navigation-drawer
我们Navigation Drawer
从support.v4
图书馆获得了应用程序.我们自动进行UI测试Robotium
并且一切正常,但Navigation Drawer
可以随机冻结,因此某些测试可能会随机失败.
这绝对不是Robotium
问题,因为我看到了如何Navigation Drawer
在我的设备上的其他应用程序中冻结,也在我自己的应用程序中.
我已经尝试过修复Navigation Drawer
此问题的答案:为什么DrawerLayout有时会在打开时出现故障?
它帮助和随机冻结从90%减少到大约10%,但10%的测试运行可能会失败,这非常糟糕,特别是对于持续集成...
可能有人已经解决了这个问题吗?
我在 Robotium 测试中遇到了同样的问题,我最终采用的解决方案是模拟拖动手势(真实用户如何滑动打开抽屉),而不是尝试单击抽屉开关或使用方法solo
。我似乎更频繁地注意到运行早于 SDK 18 的 Android 的设备上出现间歇性故障。
我将此方法放在我们自己的子类中Solo
,从那以后我们就没有进行过失败的测试(超过数百次运行)。
/**
* Open the navigation drawer with a drag gesture. Click based triggering is
* flaky on SDK < 18
*/
public void openNavigationDrawer() {
Point deviceSize = new Point();
getCurrentActivity().getWindowManager().getDefaultDisplay().getSize(deviceSize);
int screenWidth = deviceSize.x;
int screenHeight = deviceSize.y;
int fromX = 0;
int toX = screenWidth / 2;
int fromY = screenHeight / 2;
int toY = fromY;
this.drag(fromX, toX, fromY, toY, 1);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2517 次 |
最近记录: |