首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Teamcity的Android机器人接口测试

基于Teamcity的Android机器人接口测试
EN

Stack Overflow用户
提问于 2013-05-17 09:47:47
回答 1查看 3.3K关注 0票数 8

由于这一问题以前没有得到答复(也许我没有找到),我对以下问题进行了调查:

如何使用机器人在Android设备上执行自动功能测试,并将它们报告给TeamCity?等连续集成服务器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-17 09:47:47

由于我没有找到关于这个具体问题的任何答案,我进行了调查。这是我的调查结果和一个快速的方法,以帮助人们使用机器人在Android应用程序上执行自动化功能测试,然后将结果报告给像TeamCity这样的连续集成服务器。请注意,这可能不是最好的解决办法,但我觉得人们可能处于与我相同的情况。所以它就在这里!

使用了下列图书馆:

  • Robotium (https://code.google.com/p/robotium/):这是一个安卓测试自动化框架。它帮助您执行自动测试,如单击按钮,自动填充文本,以及许多其他事情。
  • Android (http://zutubi.com/source/projects/android-junit-report/):这个库对于将测试结果发布为可利用的xml格式非常有用。如果您想通过Eclipse运行您的测试,您将看到测试的结果,但是为了导出它们,这个库非常有用

假设您有一个Android项目需要测试,创建一个(Eclipse确实有一个很好的工作流来为您创建它),并将其设置为与Robotium一起工作。关于如何做到这一点的详细说明可以在这里找到:Started

然后,您需要将Android报告添加到您的项目中,以便能够获取测试结果。为此,将Android报表*.jar库添加到库文件夹中,并将其添加到构建路径(在Eclipse: Project -> Properties -> Java构建路径->添加外部Jar中)。

您还必须更改项目的测试运行程序。在测试项目的AndroidManifest.xml中添加以下内容:

代码语言:javascript
复制
<instrumentation
      android:name="com.zutubi.android.junitreport.JUnitReportTestRunner"
      android:targetPackage="<insert your package ex:com.alth.myproject" />

一旦完成,您应该能够正确运行您的测试。测试结果应该可以在您的设备中获得(在以下文件夹/data/data//files/junit-report.xml中)

下一步是配置TeamCity构建步骤,以执行运行测试所需的所有不同操作。请注意,我的解决方案可能不是最佳的!

  • 构建步骤1:清洁命令行运行程序-这个构建步骤可能是可选的,这取决于您决定如何创建您的build.xml文件和类似的构建决策。 rm -rf android更新项目-p android更新测试-projecct -m <-m到您的项目的路径,相对于测试project> -p
  • 构建步骤2:启动AVD -命令行运行程序-此构建步骤启动android虚拟设备。如果您决定在实际设备上运行测试,则此步骤可能是可选的。 仿真器-avd -非引导-anim和睡眠45 避免构建被虚拟设备启动中断(它是基本的shell命令)。睡眠命令用于尝试让AVD为下一个构建步骤做好准备。
  • 构建步骤3:测试应用发布- Ant runner :构建测试项目,将其安装在虚拟设备上 构建xml文件的路径: /build.xml附加的Ant命令行参数:-f /build.xml干净调试安装-Dsdk.dir=
  • 构建步骤4: AVD解锁-命令行运行程序:为测试目的解锁AVD屏幕 巴什avdUnlock.sh avdUnlock.sh的身体在这里:(http://pastie.org/7919761)。这个脚本是在常规的AVD端口上发送信息,以便解锁屏幕。这可以通过只将命令发送到特定端口和更改构建步骤2以向模拟器启动添加特定端口来改进。然而,这并不是这个方法的一部分
  • 构建步骤5:启动测试-命令行运行程序:启动测试 adb shell pm列出仪器设备adb外壳工具/com.zutubi.android.junitreport.JUnitReportTestRunner -w 可以删除亚行的第一个命令。这仅用于调试,以查看设备上已安装了哪些设备。
  • 构建步骤6:获取测试-命令行运行程序:从设备检索测试报告 adb拉/数据/数据//文件/junit-report.xml /junit-report.xml
  • 构建步骤7:最终仿真器杀死命令行运行者:杀死运行中的android虚拟设备 亚行
  • 附加构建特性: XML报表处理-报表类型: Ant JUnit 监控规则: /*.xml

这显然不是最优的方法,而是回答原来的问题。这样做,就可以获取android功能测试报告,并将其提供给teamcity,以便监视测试结果。

我希望这会对某人有所帮助,如果你有问题,我会尽力回答你的问题。

Al_th

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16606080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档