M8Test Gradle 任务
M8Test Gradle 插件中定义了多个任务,任务名中的 XXX 表示语言名,例如 Groovy
、 Java
、 Javascript
等。这些任务主要分为以下几个组别:
m8test-build
此组别中定义了一些与构建相关的任务,主要包括以下几项:
buildXXX
在电脑端构建项目。执行此任务后,构建好的项目源码将生成在 build/project
目录中,无需连接安卓设备。
runXXX
在电脑端构建项目后,将项目推送到安卓设备并运行。此任务依赖于 buildXXX
任务,并需要连接安卓设备。
buildXXXApk
在电脑端构建项目后,将项目推送到安卓设备并运行构建 APK 的任务。构建 APK 是否成功需要查看设备端的日志,此任务依赖于 buildXXX
任务,并需要连接安卓设备。
interruptXXX
向正在运行的当前项目发送中断信号。此任务仅发送中断信号,实际上并不会立即停止脚本,效果类似于在安卓设备端点击中断按钮。
如果脚本中存在死循环,则脚本将无法停止,除非强制杀死应用。
此任务默认等待 10 秒,如果在 10 秒内未检测到脚本停止,将提示中断失败。然而,这并不影响任务的执行,因为某些脚本在执行时可能会在 10 秒内持续运行,因此无法及时检测到中断信号。但如果脚本处于空闲状态,将能够检测到中断信号并停止执行。
在编写代码时,请避免使用死循环,而应通过 setImmediate、 setTimeout 和 setInterval 等方法来编写脚本。这些方法在执行定时任务后会自动检测中断信号,如果检测到信号,将不会继续执行下一个定时任务,从而防止脚本进入死循环。
rerunXXX
在电脑端构建项目后,将项目推送到安卓设备并运行,但在运行任务之前会先中断脚本。如果在 10 秒内成功中断脚本,则会重新运行项目;否则,效果与 interruptXXX
任务相同。此任务依赖于 buildXXX
任务,并需要连接安卓设备。
m8test-code-completion
此组别中定义了一些生成代码提示文件的任务,主要包括以下几项:
generateXXXGlobalVariables
此任务生成全局变量的代码提示文件,生成的文件位于 build/global
目录中。
generateXXXAllCodeCompletionFiles
此任务生成所有代码提示文件,包括组件、语言、全局变量、Android API 以及 M8Test API 等。
generateXXXComponentYYYCodeCompletionFiles
此任务为 YYY 组件生成代码提示文件,生成的文件位于 build/code_completion/component/YYY
目录中。
generateXXXNormalAndroidCodeCompletionFiles
此任务为 Android API 生成代码提示文件,生成的文件位于 build/code_completion/normal/Android
目录中。
generateXXXNormalDevelopmentKitCodeCompletionFiles
此任务为 M8Test API 生成代码提示文件,生成的文件位于 build/code_completion/normal/DevelopmentKit
目录中。