Appium 使用 pinch/zoom 方法的遇到的问题

匿名 · 2014年08月05日 · 最后由 恒温 回复于 2014年08月06日 · 1932 次阅读

打开手机的一个图片:

driver.findElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.TextView\").text(\"我的文件\")").click();
     se2.waitTime(sec);
     if(!se2.isElementPresent(driver,By.xpath("//android.widget.LinearLayout[@content-desc='图片:向上导航']"))){
         driver.findElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.TextView\").text(\"图片\")").click();
         se2.waitTime(sec);
     }
     driver.findElement(By.id("cn.nubia.myfile:id/file_image")).click();
     se2.waitTime(sec*2);
     System.out.print("开始啦\n");

1.操作 pinch:

driver.pinch(880,200); //该点的位置大概在屏幕右上角

或者

driver.pinch(540,960); //该点的位置大概在屏幕正中间

效果:都是切换到了下一张图片

2.先 tap 再 pinch:

driver.performTouchAction((new TouchAction(driver)).tap(540,960)).waitAction().perform();
driver.pinch(540,960);

效果:图片被放大

public void pinch(int x,int y) 在 APi:"pinching" refers to the action of two appendages pressing the screen and sliding towards each other.,预期应该会缩小图片,可是为什么会变成滑动或放大呢?

补充问题 2:使用 zoom 也遇到了同样的问题
比如:打开图片后直接用 zoom

driver.zoom(540,960); 

效果:切换到了下一张图片。

而,先 tap 再 zoom:效果才是放大了图片。

driver.performTouchAction((new TouchAction(driver)).tap(540,960)).waitAction().perform();
       driver.zoom(540,960);

补充问题 3:
使用 pinch(WebElement el) 和 zoom(WebElement el) 方法没有反应看到效果,图片没有任何变化。

请高手指教,是我的用法有什么问题么?(Appium 是 1.2,java-client 是 1.5.0)
@lihuazhang

共收到 1 条回复 时间 点赞
1楼 已删除

我在看。 其实我不是很明白 pinch 和 zoom 的区别。 而且 iOS 里面和 Android 又不太一样。

我理解的 pinch 是这样的。

比如图片 Test.jpg 它的大小是 800x600, 那么从 0x0 到 800x600 里面的缩放是 pinch。
超过 800x600 的缩放是 zoom。

不知道对不对。 @seveniruby @monkey

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册