如何使用Eclipse调试UIAutomator脚本

neo*_*ium 6 android android-uiautomator

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

neo*_*ium 9

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

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

  1. 单击,在Eclipse中设置DDMS透视图Window > Open Perspective > Other... > DDMS.假设您正在运行模拟器/设备,您应该会在"设备"选项卡中看到您的设备.
  2. 设置远程调试配置.要做到这一点去Run > Debug Configurations...
  3. 右键单击左侧面板中的Remote Java Application,然后单击"新建"以创建新配置.
  4. 在连接属性中使用localhost和端口8700.在我的情况下,我使用的是在我的本地开发机器上运行的模拟器.DDMS的默认端口是8700.如果您的设置不是这种情况,则可以在调试模式下运行UI Automator脚本后从DDMS透视图检查需要哪个端口.(见下面的步骤7-9) 远程Java应用程序
  5. 确保您选择的项目是您将运行的UI Automation项目.在"源"选项卡中,您还可以在其中添加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应用程序配置,然后单击"调试".

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