我正在通过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。
答案 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像素时,它才可能无效。