Ant 安特鲁纳的MonkeyTalk
有人能告诉我配置Ant for Android项目和MonkeyTalk的详细步骤吗。我有一个Android项目,MonkeyTalk代理和AntRunner 我需要使用Ant自动生成Android构建,MonkeyTalk也应该集成到构建中Ant 安特鲁纳的MonkeyTalk,ant,monkeytalk,Ant,Monkeytalk,有人能告诉我配置Ant for Android项目和MonkeyTalk的详细步骤吗。我有一个Android项目,MonkeyTalk代理和AntRunner 我需要使用Ant自动生成Android构建,MonkeyTalk也应该集成到构建中 这是否可能使用AntRunner?对于动态检测,您可以尝试以下示例Ant脚本: 将上述脚本另存为build.xml,您可以从命令行运行它,如下所示: ant-lib/path/to/monkeytalkpro-ant-2.0.2.beta.jar
这是否可能使用AntRunner?对于动态检测,您可以尝试以下示例Ant脚本:
将上述脚本另存为build.xml,您可以从命令行运行它,如下所示:
ant-lib/path/to/monkeytalkpro-ant-2.0.2.beta.jar instru
MonkeyTalk Professional提供Android应用程序的应用程序控制(请参阅Pro应用程序控制)。MonkeyTalk Professional Ant库包含一个应用程序任务,允许您控制测试中的应用程序。应用程序任务包括安装、卸载、启动、启动、停止和重新启动应用程序的功能。目前,只支持Android
下面是一个示例Ant脚本,用于执行所有应用程序控制操作:
在CI中运行
在像Jenkins这样的持续集成(CI)服务器上运行测试时,您通常会将上述所有Ant任务以及用于测试的常规MonkeyTalk运行任务(请参阅Ant Runner)组合到一个Ant脚本中
以下是CI中使用的Ant脚本示例:
上述脚本中的all目标完成所有工作。首先是应用程序。然后卸载以确保目标设备干净。然后安装并启动插入指令的应用程序。接下来,它运行MonkeyTalk测试套件。最后,它会再次卸载,以便在自身运行后进行清理。注意:这仅适用于Android(因为动态指令插入和应用程序控制目前仅适用于Android)
您可以从命令行运行它,如下所示:
ant-lib/path/to/monkeytokpro-ant-2.0.2.beta.jar all
<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>
<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>
<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>