Android ChimpChat抛出异常

时间:2014-09-03 13:10:44

标签: android automation adb monkeyrunner

我想让黑猩猩为Android工作。这是我的班级

import java.util.Map;
import java.util.TreeMap;

import com.android.chimpchat.ChimpChat;
import com.android.chimpchat.adb.AdbBackend;
import com.android.chimpchat.core.IChimpDevice;
import com.android.chimpchat.core.TouchPressType;


public class TapTest {

    public static void main(String[] args)
    {
           Map<String, String> options = new TreeMap<String, String>();
           options.put("backend", "adb");
           options.put("adbLocation", "D:\\Android\\platform-tools\\adb.exe");
           ChimpChat chimpchat = ChimpChat.getInstance(options);
           IChimpDevice device = chimpchat.waitForConnection(5000, ".*");
           device.touch(100, 100, TouchPressType.DOWN_AND_UP);
           chimpchat.shutdown();

    }

}

并运行它给了我这个例外

Exception in thread "main" java.lang.NoClassDefFoundError: com/android/ddmlib/TimeoutException
    at com.android.chimpchat.adb.AdbBackend.waitForConnection(AdbBackend.java:122)
    at com.android.chimpchat.ChimpChat.waitForConnection(ChimpChat.java:91)
    at TapTest.main(TapTest.java:21)
Caused by: java.lang.ClassNotFoundException: com.android.ddmlib.TimeoutException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 3 more

我添加了Chimpchat.jar,guava.jar,monkeyrunner.jar,sdklib.jar,jython-standalone.jar。

2 个答案:

答案 0 :(得分:0)

为什么不使用uiautomator?

我认为uiautomator是检查UI元素的更好工具。它具有更强大的方法来识别UI对象并与之交互。您不再需要在脚本中放置sleep命令。只需等待特定元素。您可以等待元素出现或消失。

您可以让观察者在未找到UI对象的情况下运行。这在处理弹出窗口和错误消息时很有用。

这是指向教程的链接。 http://developer.android.com/tools/testing/testing_ui.html

答案 1 :(得分:0)

正如错误所说。您还需要添加ddmlib.jar。