在UiAutomation for Android上滑动SeekBar并停止它

时间:2014-12-17 08:43:38

标签: android scroll seekbar uiautomator

我正在通过UiAutomatorTestCase类为Android设计自动化。 我想在UIAutomator上控制SeekBar滑动和TestView

例如,如果将SeekBar移动到左侧,则为

。 TextView更改为负数。所以如果数字是" 40"。我想停止刷卡。

我可以将搜索栏向左滑动,但不能将其停止。

UiScrollable seekbar = new UiScrollable(new UiSelector().resourceId("com.test:id/setting_item_child_menu_seekbar"));
seekbar.swipeLeft(200);

请帮助我,当TextView的某些测试是" 40"时,我怎么能停止那个SeekBar。

1 个答案:

答案 0 :(得分:0)

我找到了控制搜索栏的替代方法,因为我也发现由于某些问题而难以使用的标准方法,所以这里是:

private void clickSeekbar (float position) {
    while ((seekBarUiObj2 = mDevice.findObject(By.res(BASIC_SAMPLE_PACKAGE+":id/seekbar"))) == null) {
        mDevice.click(200,200);
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    Rect rect = seekBarUiObj2.getVisibleBounds();
    mDevice.click(rect.left+5/*pixels*/+(int)((rect.right-rect.left-10/*pixels*/)*position), ((rect.top+rect.bottom)/2));

}   

诀窍是点击搜索栏上所需位置的设备。 有用。 whlle循环确保搜索栏在屏幕上,如果没有在某个位置点击屏幕,这会使搜索栏出现。 然后根据所需位置计算要点击的位置。 只有当你的搜索栏非常薄,如1或2像素时,它才可能无效。