M8Test Help

M8Test Gradle 任务

M8Test Gradle 插件中定义了多个任务,任务名中的 XXX 表示语言名,例如 GroovyJavaJavascript 等。这些任务主要分为以下几个组别:

m8test-build

Kotlin 18
Groovy 18
Java 18
Javascript 18
Lua 18
Php 18
Python 18
Ruby 18

此组别中定义了一些与构建相关的任务,主要包括以下几项:

buildXXX

在电脑端构建项目。执行此任务后,构建好的项目源码将生成在 build/project 目录中,无需连接安卓设备。

runXXX

在电脑端构建项目后,将项目推送到安卓设备并运行。此任务依赖于 buildXXX 任务,并需要连接安卓设备。

buildXXXApk

在电脑端构建项目后,将项目推送到安卓设备并运行构建 APK 的任务。构建 APK 是否成功需要查看设备端的日志,此任务依赖于 buildXXX 任务,并需要连接安卓设备。

interruptXXX

向正在运行的当前项目发送中断信号。此任务仅发送中断信号,实际上并不会立即停止脚本,效果类似于在安卓设备端点击中断按钮。

  • 如果脚本中存在死循环,则脚本将无法停止,除非强制杀死应用。

  • 此任务默认等待 10 秒,如果在 10 秒内未检测到脚本停止,将提示中断失败。然而,这并不影响任务的执行,因为某些脚本在执行时可能会在 10 秒内持续运行,因此无法及时检测到中断信号。但如果脚本处于空闲状态,将能够检测到中断信号并停止执行。

  • 在编写代码时,请避免使用死循环,而应通过 setImmediatesetTimeoutsetInterval 等方法来编写脚本。这些方法在执行定时任务后会自动检测中断信号,如果检测到信号,将不会继续执行下一个定时任务,从而防止脚本进入死循环。

rerunXXX

在电脑端构建项目后,将项目推送到安卓设备并运行,但在运行任务之前会先中断脚本。如果在 10 秒内成功中断脚本,则会重新运行项目;否则,效果与 interruptXXX 任务相同。此任务依赖于 buildXXX 任务,并需要连接安卓设备。

testXXXFiles

此任务用于快速测试脚本文件,不包含额外的环境检查步骤。因此,在执行此任务前,建议先运行一次 runXXX 任务——该任务会完成所有所需环境(如语言插件、组件等)的安装,若设备端未安装这些环境,系统将自动进行安装。

testXXXFiles 任务旨在以最快速度测试脚本,在测试场景中使用非常便捷,无需像 runXXX 任务那样消耗较多时间。

m8test-code-completion

Kotlin 16
Groovy 16
Java 16
Javascript 16
Lua 16
Php 16
Python 16
Ruby 16

此组别中定义了一些生成代码提示文件的任务,主要包括以下几项:

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 目录中。

Last modified: 01 October 2025