2014年11月16日 星期日

[Appium] iOS點擊或滑動螢幕坐標報錯超出範圍

http://testerhome.com/topics/1589

滑動:從起始點X.Y 長按到結束點X.Y

1
2
3
4
5
6
7
8
9
10
11
12
13
public static void ScrollDown(AppiumDriver wd) throws InterruptedException {
  JavascriptExecutor js = (JavascriptExecutor) wd;
  HashMap<String, Double> flickObject = new HashMap<String, Double>();
  // set start point and end point
  flickObject.put("startX", 300.0);
  flickObject.put("startY", 800.0);
  flickObject.put("endX", 300.0);
  flickObject.put("endY", 500.0);
  flickObject.put("duration", 500.0);
  //do action
  js.executeScript("mobile: flick", flickObject);
  Thread.sleep(delay);
 }


這邊有個坑,如果你是用Appium Inspector 找iOS中的一個坐標要滑動或是點擊,像是這樣的話


要注意! Appium Inspector的坐標是Device放大過後的坐標,而上面那語法是點擊最底層的logic screen,而不是被放大過後的Device screen

以iPad retina來說是放大兩倍,所以要把抓到的坐標/2,寫在code裡面,這樣點擊的坐標才會是正確的



原理:

http://www.iosres.com/

沒有留言:

張貼留言