Macaca Macaca 的 swipe 的一个疑问

曾晖斌 · 2016年12月19日 · 最后由 thanksdanny 回复于 2017年02月26日 · 1769 次阅读

### 问题
昨天试了下 Macaca 的 swipe 方法,但一直报 NullPointerException,参数还是 5 个参数啊,也没有什么特殊的啊

debug 发现的一个问题,再构成 swipe 的 session 时,会给 elementId 赋值一个 null

"duration" -> "1000"
"elementId" -> "null"
"endY" -> "10"
"endX" -> "50"
"startY" -> "300"
"startX" -> "50"
"sessionId" -> "fc5851cb-5dd6-43b7-9006-4f7ce636e885"

在构造 POST 请求的临时对象方法中
解析到 elementId 就会直接报空指针了

public Object postRequest(String method, JSONObject jsonBody) throws Exception {
        JSONObject tempObj = new JSONObject();
        for (String key : jsonBody.keySet()) {
            String value = jsonBody.get(key).toString();
            if (method.contains(":" + key)) {
                method = method.replace(":" + key, value);
            } else {
                tempObj.put(key, jsonBody.get(key));
            }
        }

错误代码如下:

java.lang.NullPointerException
    at macaca.client.common.Utils.postRequest(Utils.java:72)
    at macaca.client.common.Utils.request(Utils.java:139)
    at macaca.client.commands.Element.swipe(Element.java:66)
    at macaca.client.MacacaClient.swipe(MacacaClient.java:1061)

是我方法写错了?还是怎么回事啊?麻烦了解的人给个答案

test 中就只写了一句

public void test_case_1() throws Exception {
        System.out.println("test case #1 Login");
        driver.swipe(50, 300, 50, 10, 1000);
}
共收到 2 条回复 时间 点赞

难怪我用 swipe 也报错..原来淘汰了...

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