当Robotium的Solo clickOnText“错过”它找到的视图时,可以做什么?

时间:2015-08-20 18:51:49

标签: android robotium

我的应用中有一个产品列表。在该列表活动中,我在窗口右侧创建一个条带,一个“字母选择器字符串”,就像在联系人列表应用程序中看到的那样。

效果很好。

在模拟器上,我可以毫无问题地测试它。在实际的平板电脑上,测试每次都会失败。它始终点击目标视图的左侧,这意味着产品列表不会更新到预期的选择。

我在模拟器和设备上捕获了这些信息,但我没有看到问题的明显(或显而易见)来源。

模拟器(xxhdpi Nexus 5)上的选择器视图:

 I/System.out﹕ TEST: picker getLeft = 49
 I/System.out﹕ TEST: picker getRight = 101
 I/System.out﹕ TEST: picker getTop = 955
 I/System.out﹕ TEST: picker getBottom = 998
 I/System.out﹕ TEST: picker getWidth = 52
 I/System.out﹕ TEST: picker getHeight = 43
 I/System.out﹕ TEST: picker getX = 49.0
 I/System.out﹕ TEST: picker getY = 955.0
 I/System.out﹕ TEST: picker locationInWindow = [979, 1174]
 I/System.out﹕ TEST: picker locationOnScreen = [979, 1174]

在我的设备上(mdpi三星平板电脑):

 I/System.out﹕ TEST: picker getLeft = 96
 I/System.out﹕ TEST: picker getRight = 550
 I/System.out﹕ TEST: picker getTop = 0
 I/System.out﹕ TEST: picker getBottom = 85
 I/System.out﹕ TEST: picker getWidth = 454
 I/System.out﹕ TEST: picker getHeight = 85
 I/System.out﹕ TEST: picker getX = 96.0
 I/System.out﹕ TEST: picker getY = 0.0
 I/System.out﹕ TEST: picker locationInWindow = [96, 513]
 I/System.out﹕ TEST: picker locationOnScreen = [96, 513]

我是否只是期望Solo方法,clickOnText,不准确且无法依赖?

1 个答案:

答案 0 :(得分:0)

请添加代码。

我认为您使用的位置参数方法适用于您的特定智能手机,但在平板电脑上失败,因为您想要的视图还有其他位置值。

尝试以更通用的方式捕获视图,例如通过其文本值。