gpt4 book ai didi

android - 使用抽屉导航的应用程序的 Robotium UI 测试

转载 作者:IT老高 更新时间:2023-10-28 23:14:52 25 4
gpt4 key购买 nike

我们从 support.v4 库中获得了带有 Navigation Drawer 的应用。我们使用 Robotium 自动化 UI 测试,一切正常,但 Navigation Drawer 可能会随机卡住,因此某些测试可能会随机失败。

这绝对不是 Robotium 问题,因为我看到 Navigation Drawer 如何在我设备上的其他一些应用程序中卡住,也在我自己的应用程序中。

我已经尝试从这个问题的答案中修复 Navigation Drawer:Why does DrawerLayout sometimes glitch upon opening?

它有帮助,随机卡住从 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);
}

关于android - 使用抽屉导航的应用程序的 Robotium UI 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21848875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com