尝试缩放地图时,appium测试失败

时间:2018-03-08 02:52:34

标签: java ios appium appium-ios xcuitest

我在iOS中使用Appium 1.7.2运行测试。我需要放大地图。我将map元素放入Map变量并尝试以不同的方式缩放,但是所有这些都失败了:

方法1:

TouchAction action1 = new TouchAction(driver).press(100,100).moveTo(0,-50).release();
        TouchAction acction2 = new TouchAction(driver).press(100,200).moveTo(0,50).release();
        MultiTouchAction mta = new MultiTouchAction(driver);
        mta.add(action1).add(acction2);
        mta.perform();

perform()方法崩溃。如果我删除其中一个操作并保持

mta.add(action1);
        mta.perform();

或者

mta.add(action2);
        mta.perform();

没有问题和行动。

Appium服务器从WDA获得501错误。

方法2:

Actions action = new Actions(driver);
        action.moveToElement(theMap);
        action.doubleClick(theMap);
        action.perform();

在perform()上崩溃。

在这两种情况下,我都会收到InvocationTargetException。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

我找到了缩放的替代方法。

public void zoom(RemoteWebElement element){
    JavascriptExecutor js = (JavascriptExecutor) driver;
    Map<String, Object> params = new HashMap<>();
    params.put("scale", 10);
    params.put("velocity", 2);
    params.put("element", ((RemoteWebElement) element).getId());
    js.executeScript("mobile: pinch", params);
}

其中element是父元素,包含map及其上的所有项目。