appium 拖动进度条

方法:
  1. 找到元素
  2. 获取元素的坐标
  3. 获取元素的size
  4. 百分比拖动进度条
代码:
	public void testSeekbar() throws Exception{
        Thread.sleep(3000);
        driver.findElementByAndroidUIAutomator("new UiSelector().text(\"LOG IN\")").click();
        driver.findElementByAndroidUIAutomator("new UiSelector().text(\"Slider\")").click();
        MobileElement slider =driver.findElementByAccessibilityId("slider");
        //精度不是很准确,需自己调,当percent为1时可能不会移动到100%,可以尝试1.5或2
        // 拖动100%
        moveSeekbar(slider, 1.5);
        // 拖动40%
//        moveSeekbar(slider, 0.6);
    }

    public void moveSeekbar(MobileElement element, double percent){
        // 获取拖动条的宽
        int width = element.getSize().getWidth();
        // 获取坐标
        int x = element.getLocation().getX();
        int y = element.getLocation().getY();
        TouchAction action = new TouchAction(driver);
        action.press(x,y).moveTo((int)(width*percent),y).release().perform();
    }
  • python(具体参考GitHub
    def test_seekbar(self):
        self.driver.implicitly_wait(3)
        self.driver.find_element_by_android_uiautomator("new UiSelector().text(\"LOG IN\")").click()
        self.driver.find_element_by_android_uiautomator("new UiSelector().text(\"Slider\")").click()
        slider = self.driver.find_element_by_accessibility_id("slider")
        self.driver.implicitly_wait(2)
        # 移动 100%
        # self.move_seekbar(slider, 1.5)
        # 移动 40%
        self.move_seekbar(slider, 0.4)

    def move_seekbar(self, element, percent):
        # 精度不是很准确,需自己调,当percent为1时可能不会移动到100%,可以尝试1.5或2
        # 获取拖动条的宽
        width = element.size.get("width")
        # 获取坐标
        x = element.location.get("x")
        y = element.location.get("y")
        self.driver.swipe(x, y, int(width*percent), y, 1000)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值