多点触控(MultiTouch)
MultiTouch对象是触摸操作的集合。
多点触控手势只有两个方法,add和perform。
add 用于将不同的触摸操作添加到当前的多点触控中。
当 perform 执行时,被添加到多点触控里的所有触摸操作会被发送给 appium 并被执行,就像它们 同时发生一样。Appium 会按序一个个执行触摸事件,首先第一个事件,然后第二个,以此类推。
即:用两只手指一起的操作
伪代码示例:
action0 = TouchAction().tap(el)
action1 = TouchAction().tap(el)MultiAction().add(action0).add(action1).perform()
准备
Android 7.0版本(真)
实践部分
上面是对放大及缩小操作的一个描述介绍,接下来就是实操部分了,我们接着进行这部分api的学习,相信我,只要肯坚持这一切并不难。
示例代码:
/** * 放到缩小操作 * * @throws Exception */ @Test public void testMultiTouchAction() throws Exception { //我 driver.findElementByName("我").click(); //头像 driver.findElementById("pn").click(); //头像 driver.findElementById("d4z").click(); int scrHeight = driver.manage().window().getSize().getHeight(); int scrWidth = driver.manage().window().getSize().getWidth(); MultiTouchAction multiTouch = new MultiTouchAction(driver); TouchAction tAction0 = new TouchAction(driver); TouchAction tAction1 = new TouchAction(driver); tAction0.press(scrWidth >> 1, scrHeight >> 1).waitAction(2000).moveTo(0, 60).release(); tAction1.press(scrWidth / 2, scrHeight / 2 + 40).waitAction(2000).moveTo(0, 80).release(); multiTouch.add(tAction0).add(tAction1); multiTouch.perform(); }