如何使用内容描述获取边界并执行长按

时间:2014-03-07 10:32:30

标签: android uiautomator

我有一个名为“Gallery”的uiobject。我想使用Bounds单击此Uiobject。 我正在遵循的当前方法:使用getDisplayHeight / width()获取设备的高度和宽度,然后取决于我点击Uiobject界限的手机高度和宽度。我面临的问题是如果更改硬件更大的屏幕边界/坐标将会改变。为了克服这个问题,是否有可能获得这个Uiobject(“图库”)的界限并进行长时间的点击?

如何使用内容描述获取边界并执行长按?

  UiObject obj1 = new UiObject(new UiSelector().text("Gallery"));

我有一个名为“Gallery”的内容描述的Uiobject。是否有可能获得此Uiobject(“图库”)的界限并执行长按?

2 个答案:

答案 0 :(得分:0)

我们可以这样做

UiObject descriptionElement = new UiObject(new UiSelector().description("your description"));
        Rect bounds = descriptionElement.getBounds();
        int x = bounds.centerX();
        int y = bounds.centerY();
        getUiDevice().click(x, y);

答案 1 :(得分:0)

如果我没记错UiDevice没有任何longpress方法,它只支持click()。如果使用坐标不是您的要求,您可以对这样的对象进行长按:

UiObject descriptionElement = new UiObject(new UiSelector()。description(“your description”)); descriptionElement.longClick();