Appium Appium 中如何对 ios 表视图进行下拉刷新或上拉加载数据操作

云飞凌风 · 2014年09月09日 · 最后由 云飞凌风 回复于 2014年09月10日 · 1655 次阅读

这是我的 java 代码,但是无论如何也无法针对 ios 应用中的表视图进行下拉刷新或上拉加载数据操作,请大侠帮忙

     public void MultiGestureTest() throws InterruptedException {
          String js_snippet = "mobile: swipe";
//        int startx,starty,endx,endy,duration;
//        System.out.println(js_snippet);
//        driver.swipe(startx=75, starty=400, endx=75, endy=100, duration=800);
          JavascriptExecutor js = (JavascriptExecutor) driver;
          HashMap<String, Double> swipeObject = new HashMap<String, Double>();
          swipeObject.put("startx",75.0);
          swipeObject.put("starty",500.0);
          swipeObject.put("endx",75.0);
          swipeObject.put("endy",0.0);
          swipeObject.put("touchCount",0.5);
          swipeObject.put("duration",800.0);
          js.executeScript(js_snippet, swipeObject);
          System.out.println(js_snippet);
      }
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 7 条回复 时间 点赞

@wangcityboy ios7 apple framework swipe 存在 bug, 用 scroll 试试。

#1 楼 @luis 可以进行上拉下拉滚动条滑块操作,但是无法进行下拉即可刷新操作

String js_snippet = "mobile: scroll";
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction","down");
js.executeScript(js_snippet,scrollObject);

@wangcityboy 可以试试换换 scrollObject 的对象!

#3 楼 @luis 我很菜啊,不知道怎么换呢?你能给我解答一下么?

@wangcityboy 试试在 scrollObject 对象里加你要 scroll 的 element.
scrollObject.put("element", ((RemoteWebElement) element).getId());

#5 楼 @luis
下面的代码还是无法下拉显示 “松开即可刷新”,如下图:

//        String js_snippet = "mobile: scroll";
//        JavascriptExecutor js = (JavascriptExecutor) driver;
//        HashMap<String, String> scrollObject = new HashMap<String, String>();   
//        List<WebElement> elements = driver.findElementsByIosUIAutomation(".elements()");  
//        scrollObject.put("element", ((RemoteWebElement) elements).getId()); 
//        js.executeScript(js_snippet,scrollObject);

         JavascriptExecutor js = (JavascriptExecutor) driver;

         HashMap<String, Double> swipeObject = new HashMap<String, Double>();
          swipeObject.put("startx",75.0);
          swipeObject.put("starty",500.0);
          swipeObject.put("endx",75.0);
          swipeObject.put("endy",0.0);
          swipeObject.put("touchCount",0.5);
          swipeObject.put("duration",800.0);

//       List<WebElement> elements = driver.findElementsByIosUIAutomation(".elements()");
         WebElement element = driver.findElementByIosUIAutomation(".elements()[0]");
         swipeObject.put("element", Double.valueOf(((RemoteWebElement) element).getId()));

         js.executeScript("mobile: swipe", swipeObject);

#5 楼 @luis 这个问题你弄出来了没有?

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