### 问题
昨天试了下 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);
}