我想让黑猩猩为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。
答案 0 :(得分:0)
为什么不使用uiautomator?
我认为uiautomator是检查UI元素的更好工具。它具有更强大的方法来识别UI对象并与之交互。您不再需要在脚本中放置sleep命令。只需等待特定元素。您可以等待元素出现或消失。
您可以让观察者在未找到UI对象的情况下运行。这在处理弹出窗口和错误消息时很有用。
这是指向教程的链接。 http://developer.android.com/tools/testing/testing_ui.html
答案 1 :(得分:0)
正如错误所说。您还需要添加ddmlib.jar。