gpt4 book ai didi

android - Robotium - 检测从屏幕上绘制的对象

转载 作者:行者123 更新时间:2023-11-29 21:54:11 28 4
gpt4 key购买 nike

所以我上周对我的 Android 应用程序进行了更改,无意中将一些按钮绘制到了屏幕之外。

我可以在 Eclipse 中看到屏幕外的对象,并且没有抛出任何错误,但是当应用程序运行时,按钮不可见(屏幕外)。

只是想知道 Robotium 会捕捉到这个还是按钮仍然是“可按下的”。

我的问题是,鉴于上述情况,我运行 Robotium 测试以选择屏幕内不再绘制/可见的按钮。 Robotium 是否仍然能够选择按钮并通过测试,还是会因为按钮不再出现在屏幕上而失败?

最佳答案

可见性

可见性选项通过如下代码 fragment 断言。请注意,getVisibility 将返回一个从 0=VISIBLE 到 8=GONE 和 4=INVISIBLE 的整数。更多信息请访问 Android API Javadoc for View .

int expectedValue = 0; // 0=VISIBLE, 4=INVISIBLE, 8=GONE
assertEquals("Message when assert failed", expectedValue,
solo.getView(your.project.package.R.id.someViewId).getVisibility());

屏幕上的位置

可见性并不总是足以检查某些东西是否在屏幕上可见。从屏幕上绘制或宽度为负值时,可以看到某些内容。验证您是否可以使用 the getLocationOnScreen() method .它将返回屏幕上 View 的 x 和 y 坐标(按此顺序)。一个例子:

int] location = new int[2]; // this will hold the x and y position
// retrieve coordinates
solo.getView(your.project.package.R.id.someViewId).getLocationOnScreen(location);
// and check if possitive or whatever fits your needs
assertTrue("Message when assert failed", location[0] >= 0 && location[1] >= 0);

这应该可以正确检测到您的屏幕外按钮。

关于android - Robotium - 检测从屏幕上绘制的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13682032/

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