如何使用Eclipse调试UIAutomator脚本

时间:2014-02-24 03:16:11

标签: android uiautomator android-uiautomator

从我所看到的,当UIAutomator脚本编译成jar文件并使用adb shell命令运行时。我可以看到有一个-e debug命令行选项,它等待调试器在启动之前连接但是如何将它从Eclipse连接到调试器以便我可以调试我的UI Automator脚本?

1 个答案:

答案 0 :(得分:9)

我已经解决了。这个过程有点长,但它确实有效!

关键是要了解如何使用Dalvik Debug Monitor Server (DDMS)并了解使用Java和Eclipse进行远程调试。简而言之,请遵循以下步骤:

  1. 单击Window > Open Perspective > Other... > DDMS在Eclipse中设置DDMS透视图。假设您正在运行模拟器/设备,您应该会在“设备”选项卡中看到您的设备。
  2. 设置远程调试配置。要执行此操作,请转到Run > Debug Configurations ...
  3. 右键单击左侧面板中的Remote Java Application,然后单击“新建”以创建新配置。
  4. 在连接属性中使用localhost和端口8700.在我的情况下,我使用的是在本地开发计算机上运行的模拟器。 DDMS的默认端口是8700.如果您的设置不是这种情况,则可以在调试模式下运行UI Automator脚本后从DDMS透视图检查需要哪个端口。 (见下面的步骤7-9) Remote Java Application
  5. 确保您选择的项目是您将要运行的UI自动化项目。在“源”选项卡中,您还可以在其中添加UI自动化项目。 (不确定这是否是强制性的)
  6. 点击“应用”,然后关闭。
  7. 现在我们将使用命令行开始使用debug选项运行UI Automator脚本。对于我的例子,命令是(全部在一行):

      

    adb shell uiautomator runtest AndroidUIAutomation.jar -c com.example.uiautomation.TestUiAutomation -e debug true

  8. 然后会说:

    发送WAIT块

  9. 在Eclipse中进入DDMS视角。在Devices选项卡下,您应该看到一个带有一点红色bug符号的进程。它旁边将是一个问号。在表格的最后一列中,将有两个端口号,例如8602/8700。端口8700是您将远程调试会话连接到的端口。这是应在上面的步骤4中配置的内容。

  10. 现在您已准备好开始远程调试。在UI Automator脚本中的某处设置断点。然后转到Run > Debug Configurations进行调试...然后选择之前创建的远程Java应用程序配置,然后单击“调试”。

  11. 如果一切顺利,那么您应该能够调试UI Automator脚本!