• 第六章 测试架构规划及测试用例组织(下)


    ------手机自动化测试之Robotium

    6.3 将测试用例接入到Jenkins

    由于我是自己学习的手机自动化测试,没有实际投入到工作中使用,jenkins的接入也没有具体操作,现摘抄一下网页:http://www.tuicool.com/articles/jIN7vu的内容,以供大家学习和验证。

    Windows下构建robotium+jenkins+TMTS可持续集成自动化测试

    6.3.1 TMTS简介

    TMTS是淘宝的自动化测试构架,优缺点都较为明显

    优点:最主要的就是已经实现出错截屏并提供日志

    缺点:比较小众化,遇到问题也无人解答

    自动化测试终究是要能够持续集成才能有更大的意义的,利用robotium+jenkins可以实现集成测试,但此时要想得到出错截屏加日志就麻烦了。

    TMTS主要由三部分组成

    1TmtsFramework进行自动化用例编写

    2TmtsToolkit进行出错截屏与获取日志报告

    3hudson进行apk包的自动打包、安装,并进行用例执行

    TmtsFramework编写用例其实与robotium编写用例一样都是基于instrument的,因此想用robotium编写用例,而同时又想得到出错截屏与日志报告就完全可以使用robotium+TmtsToolkit ,因此就可以用robotium+jenkins+TmtsToolkit构建可持续集成自动化测试。

    6.3.2 Windows下环境搭建软件安装

    1.安装jdk

    2.安装tomcat

    http://tomcat.apache.org/download-70.cgi

    3.安装ant

    http://ant.apache.org/bindownload.cgi

    4.安装jenkins

    http://jenkins-ci.org/

    下载war包,放于tomcatwebapps目录下,启动tomcat将自动部署

    5.安装Android SDK

    http://developer.android.com/sdk/index.html

    搭建android开发环境,包括eclipseADT

    6.下载TMTS架构中的athena-1.1.jarddmlib.jar

    http://code.taobao.org/p/TMTS/src/branches/V1.1/trunk/android/AthrunTest/

    当然最好把整个TMTS下载下来

    环境变量PATH添加

    javaapache-ant-1.8.2in

    javaandroid-sdk-windows ools

    javaandroid-sdk-windowsplatform-tools

    Javajdk1.6.0_07in

    添加ANDROID_HOME

    添加JAVA_HOME

    添加ANT_HOME

    有什么命令找不到了就加下PATH变量

    tomcat启动

    运行 javaapache-tomcat-7.0.8instartup.bat

    jenkins配置

     浏览器访问  http://localhost:8080/jenkins

    插件安装

    Hudson Subversion Plug-injenkinssvn插件

    Android Emulator Pluginandroid模拟器插件

    JUnit Attachments Pluginjunit测试报告附件插件

    Email-ext plugin,邮件扩展插件。此处说明下,默认Jenkins只会发送构建失败的邮件,我们需安装此插件才能自定义不同场景

    除了这些之外还可以安装其它一些插件,那样可以使得Jenkins非常强大,需要什么安装什么构建build.xml文件,使用ant自动打apk包,构建build.xml文件及ant打包可以参考其它文章。

    6.3.3 构建测试任务

    现在使用jenkins来构建我们自己的测试任务:

    1)使用jenkins新建任务时,填入任务名称,选择“构建一个自由风格的软件项目”,以后新建类似任务时则可以选择“复制现有任务”。

    2)勾选“This build is parameterized”进行参数化构建 Add Parameter项选择Choice,填入Name项:ANDROID_AVD_DEVICE;填入Choices项:emulator-5554(为模拟器序列号,adb devices将显示当前连接的设备序列)

    3)进行SVN代码库关联 Source Code Management选择“Subversion”,Repository URL中填入SVN地址

    4)添加构建步骤 BuildAdd build step中选择“Execute Windows batch command”, 这里填的命令与Windowscmd下命令行中的命令是一样的。

    A,填入如下命令:

    (

    cd TmtsApp ool

    ant

    adb -s %ANDROID_AVD_DEVICE% uninstall com.taobao.tmts.framework.app

    adb -s %ANDROID_AVD_DEVICE% install apkTmtsApp.apk

    )

    根据实际需要cd到相应目录,卸载apk包、安装apk

    B,再下拉添加一个Execute Windows batch command

    (

    cd TmtsTest ool

    test-packet.bat

    adb -s %ANDROID_AVD_DEVICE% uninstall com.taobao.tmts.framework.test

    adb -s %ANDROID_AVD_DEVICE% install apkTmtsTest.apk

    )

    根据实际需要cd到相应目录,卸载测试工程的apk包、安装测试工程的apk包。

    C,再下拉添加一个Execute Windows batch command

    echo %ANDROID_AVD_DEVICE%

    cd TmtsTest

    del TEST-*.xml /q

    (

    athena . "TEST-GridViewActivityTest.xml" %ANDROID_AVD_DEVICE%

    com.taobao.tmts.framework.test.GridViewActivityTest 

    athena . "TEST-ListViewActivityTest.xml" %ANDROID_AVD_DEVICE% com.taobao.tmts.framework.test.ListViewActivityTest athena . "TEST-MainActivityTest.xml" %ANDROID_AVD_DEVICE% com.taobao.tmts.framework.test.MainActivityTest

    )

    这里调用的是athena.bat文件进行批处理

    robotium中单个用例执行是类似这样的:

    adb shell am instrument -w -e class com.megafon.test.MegafonTest#testDeleteContact

    com.megafon.test/android.test.InstrumentationTestRunner

    athena.bat内容如下:

    java -cp athena-1.1.jar;ddmlib.jar com.synaptik.athena.Athena %1 %2 %3 %4  E:\android\upload

    调用了athena-1.1.jarddmlib.jar,所有这里与TMTS相关的其实就是需要这两个jar包以实现截图与日志报告功能。

    5)构建后操作

    Post-build Actions勾选“Publish JUnit test result report”,填入TmtsTest  TEST-*.xml

    当然jenkins也可以选择构建后发送邮件,构建后再执行其它任务等。

    6.4 本章小结

      本章我们介绍了测试用例的架构,以及如何根据测试需要来组织测试用例。其实原则上都差不多,只是针对测试用途不同,组织的方法有所区别而已。最后我摘抄了网上的如何把测试用例接入到jenkins中,由于我没有实地去操作,不过感觉到有点儿复杂,应该会有简单的办法。大家如果用的到的话,可以自己研究学习一下。在接下来的章节中,我们将讲述如何生成及优化测试报告,这相当于自动化测试中的画龙点睛的部分,希望大家有兴趣!

  • 相关阅读:
    搜索复习-中级水题
    搜索复习-基础水题(一共12道)
    TCPThree_C杯 Day1
    bzoj1579 道路升级
    bzoj3732 Network(NOIP2013 货车运输)
    bzoj1624 寻宝之路
    bzoj1430 小猴打架
    bzoj2763 飞行路线
    2017-10-28-afternoon-清北模拟赛
    2017-10-28-morning-清北模拟赛
  • 原文地址:https://www.cnblogs.com/eagleking0318/p/6520831.html
Copyright © 2020-2023  润新知