MonkeyTalk with AntRunner



有人能告诉我使用MonkeyTalk为Android项目配置Ant所涉及的详细步骤吗。我有一个Android项目,MonkeyTalk代理和AntRunner。

我需要使用Ant自动生成Android构建。此外,MonkeyTalk应该集成在构建中。

这可能使用AntRunner吗?

对于动态检测,您可以尝试以下示例Ant脚本:

<target name="instru">
    <mt:instrument
        src="/path/to/MyApp.apk"
        dest="/path/to/MyApp-Instrumented.apk"
        agent="/path/to/monkeytalk-agent-2.0.2.jar"
        androidSdk="/path/to/android-sdk"
        androidTarget="android-19"
        log="log.txt"
        verbose="true" />
    </target>

将上面的脚本保存为build.xml,您可以从命令行运行它,如下所示:

ant-lib/path/to/monkeytalkpro-ant-2.0.2.beta.jar instrum

MonkeyTalk Professional提供Android应用程序的应用程序控制(请参阅专业应用程序控制)。MonkeyTalk Professional Ant库包含一个应用程序任务,允许您控制测试中的应用程序。应用程序任务包括安装、卸载、启动、启动、停止和重新启动应用程序的功能。目前,仅支持Android。

下面是一个示例Ant脚本,用于执行所有应用程序控制操作:

<property name="sdk.dir" value="/path/to/android-sdk" />
<property name="packageName" value="com.example.myapp" />
<property name="activityName" value="RootActivity" />
<target name="install">
    <mt:app action="install"
        binary="Out.apk"
        androidSdk="${sdk.dir}"
        verbose="true" />
</target>
<target name="uninstall">
    <mt:app action="uninstall"
        packageName="${packageName}"
        androidSdk="${sdk.dir}"
        verbose="true"  />
</target>
<target name="launch">
    <mt:app action="launch"
        packageName="${packageName}"
        activityName="${activityName}"
        androidSdk="${sdk.dir}"
        verbose="true" />
</target>
<target name="restart">
    <mt:app action="relaunch"
        packageName="${packageName}"
        activityName="${activityName}"
        androidSdk="${sdk.dir}"
        verbose="true" />
</target>
<target name="stop">
    <mt:app action="stop"
        packageName="${packageName}"
        androidSdk="${sdk.dir}"
        verbose="true" />
</target>
<target name="isInstalled">
    <mt:app action="isInstalled"
        packageName="${packageName}"
        androidSdk="${sdk.dir}"
        verbose="true" />
    <echoproperties prefix="monkeytalk" />
</target>
<target name="isRunning">
    <mt:app action="isRunning"
        packageName="${packageName}"
        androidSdk="${sdk.dir}"
        verbose="true" />
    <echoproperties prefix="monkeytalk" />
</target>

在CI中运行当在像Jenkins这样的持续集成(CI)服务器上运行测试时,通常会将上述所有Ant任务,加上用于测试的常规MonkeyTalk Run任务(请参阅Ant Runner),合并为一个Ant脚本。

以下是在CI:中使用的Ant脚本示例

<property name="sdk.dir" value="/path/to/android-sdk" />
<property name="instrumentedApp" value="/path/to/MyApp-Instrumented.apk" />
<property name="packageName" value="com.example.myapp" />
<property name="activityName" value="RootActivity" />
<target name="instru">
    <mt:instrument
        src="/path/to/MyApp.apk"
        dest="${instrumentedApp}"
        agent="/path/to/monkeytalk-agent-2.0.2.jar"
        androidSdk="${sdk.dir}" />
</target>
<target name="uninstall">
    <mt:app action="uninstall"
        packageName="${packageName}"
        androidSdk="${sdk.dir}"
        verbose="true"  />
</target>
<target name="install">
    <mt:app action="install"
        binary="${instrumentedApp}"
        androidSdk="${sdk.dir}"
        verbose="true" />
</target>
<target name="launch">
    <mt:app action="launch"
        packageName="${packageName}"
        activityName="${activityName}"
        androidSdk="${sdk.dir}"
        verbose="true" />
</target>
<target name="test">
    <mt:run
        agent="AndroidEmulator"
        adb="${sdk.dir}/platform-tools/adb"
        thinktime="1000"
        timeout="10000"
        suite="${basedir}/mysuite.mts"
        reportdir="${basedir}/myreports"
        startup="30"
        verbose="true" />
</target>
<target name="all">
    <antcall target="instru" />
    <antcall target="uninstall" />
    <antcall target="install" />
    <antcall target="launch" />
    <antcall target="test" />
    <antcall target="uninstall" />
</target>

上面脚本中的all target完成了所有的工作。首先是为应用程序提供工具。然后卸载以确保目标设备是干净的。然后它安装并启动插入指令的应用程序。接下来,它运行MonkeyTalk测试套件。最后,它在自己之后再次卸载进行清理。注意:这只是安卓系统(因为动态仪表和应用程序控制目前只适用于安卓系统)。

你可以这样从命令行运行它:

ant-lib/path/to/monkeytalkpro-ant-2.0.2.beta.jar所有

相关内容

  • 没有找到相关文章

最新更新