您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 持续集成自动化测试(robotium jenkins)
安卓自动化Robotium使用和持续集成QA—张亚洲目录•1Robotium介绍•2Robotium工作原理•3Robotium的使用•4Robotium和jenkins的持续集成Robotium简介Robotium是一个测试框架,能够方便你为Android应用程序编写强大、健壮的自动化黑盒测试用例。能够模仿普通用户行为,可以试着把一些原来由测试工程师做的测试变成Robotium自动化实现。Robotium的优点:1.框架支持多个activities自动活动。2.最短的时间需求写出测试用例。3.执行测试用例速度快。4.顺利整合了Jenkins或Ant来运行测试,持续集成的一部分。5.该工具用于黑盒的自动化测试。可以在有源码或者只有APK的情况下对目标应用进行测试,提供了模仿用户操作行为的API,比如在某个控件上点击,输入Text等等。自动化测试工具Robotiun、Appium、Monkeyrunner对比Robotium工作原理图Robotium环境搭建•一安装JDK•安装的版本:JDK1.7win764位,安装后配置环境变量•二安装SDK•安装的版本:win764位,安装后配置环境变量•三安装Eclipse•去官网下载对应的版本,下载后解压到本地。•四安装ADT插件•可在eclipse里面安装,HelpInstallNewSoftwareAdd输入,按照提示进行安装。•五:在官方down所需要的jar包地址:使用•下面介绍只有APK包的测试。1打开eclipse,选择File-New-Project…-Android-AndroidTestProject,点击Next。2输入测试工程名GameTest选择:Thisproject3选择一个已经创建好的模拟器,点击Finish。4在刚创建的工程的包里创建一个测试类:选择src选中包名NewJunitTestCase。5导入robotium.jar①选择测试工程GameHallTest右击,选择BuildPath-ConfigureBuildPath…②在打开的Libraries中点击AddExternalJARs…按钮,选择从官网下载的两个jar包。③在OrderandExport中,勾选robotium的两个jar包,然后点击OK按钮6修改AndroidManifes.xml文件,修改的targetPackAge包名一定要和要测试的包名对应7以棋牌大厅1.0.0为例,下面是简单的启动后验证是否有“向左滑动有更多游戏”的例子(创建的测试方法名必须以test开头)。•packagecom.XXXXX.XXXXXtest;••importcom.robotium.solo.*;//导入robotium提供的测试用solo类•importandroid.test.ActivityInstrumentationTestCase2;//测试工程要继承用来测试activity的父类•@SuppressWarnings(rawtypes)•publicclassMainActivityTestextendsActivityInstrumentationTestCase2{•privateSolosolo;••privatestaticfinalStringLAUNCHER_ACTIVITY_FULL_CLASSNAME=com.XXXXX.XXXX.MainActivity;••privatestaticClass?launcherActivityClass;•static{//创建异常•try{•launcherActivityClass=Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);•}catch(ClassNotFoundExceptione){•thrownewRuntimeException(e);•}•}••@SuppressWarnings(unchecked)•publicMainActivityTest()throwsClassNotFoundException{•super(launcherActivityClass);•}•••publicvoidsetUp()throwsException{•solo=newSolo(getInstrumentation());•getActivity();•}••@Override•publicvoidtearDown()throwsException{•solo.finishOpenedActivities();•}••publicvoidtestRun(){••//截图•solo.takeScreenshot(“引导页”);•//点击关闭引导页按钮•solo.clickOnView(solo.getView(splash_guide_close_iv));•//截图•solo.takeScreenshot(“首页”);•//等待3秒•solo.sleep(3000);•//点击关闭每日任务弹窗•solo.clickOnView(solo.getView(dialog_close));•//等待3秒•solo.sleep(3000);•//验证是否有向左滑动有更多游戏文字•assertTrue(solo.searchText(向左滑动有更多游戏));••}•}•Solo类运用Solo类中提供了自动点击、取得、拖拽、搜索等各种方法•点击:•clickOnButton(int)—ClicksonaButtonwithagivenindex.•clickOnButton(String)—ClicksonaButtonwithagiventext.•clickOnCheckBox(int)—ClicksonaCheckBoxwithagivenindex.•clickOnText(String)—ClicksonaViewdisplayingagiventext.•clickLongOnText(String)—LongclicksonagivenView.•clickOnScreen(float,float)—Clicksonagivencoordinateonthescreen.•取得:•getCurrentActivity()—ReturnsthecurrentActivity.•getText(String)—ReturnsaTextViewwhichshowsagiventext.•getView(int)—ReturnsaViewwithagivenid.•getEditText(String)—ReturnsanEditTextwhichshowsagiventext.•拖拽:•drag(float,float,float,float,int)—Simulatetouchingagivenlocationanddraggingittoanewlocation.•搜索:•searchText(String)—Searchesforatextstringandreturnstrueifatleastoneitemisfoundwiththeexpectedtext.•searchEditText(String)—SearchesforatextstringintheEditTextobjectslocatedinthecurrentActivity.•searchButton(String,boolean)—SearchesforaButtonwiththegiventextstringandreturnstrueifatleastoneButtonisfound.•更多方法请参见Solo的API文档:•!/index-all.html8运行测试程序选择测试工程右击,选择RunAs-AndroidJUnitTest,运行测试程序。测试程序运行如下:命令行下运行测试用例•Runningalltests:adbshellaminstrument-wcom.XXX.XXXl/com.example.test.instrumentation.InstrumentationTestRunner•Runningasingletestcase:adbshellaminstrument-w-eclasscom.XXXX.XXX.T01_shouyecom.XXXXX.XXXX/com.example.test.instrumentation.InstrumentationTestRunner•Runningmultipletests:adbshellaminstrument-w-eclasscom.XXXX.XXXX.T01_shouye,com.duoku.gamehall.T03_denglucom.XXXX.XXXXX/com.example.test.instrumentation.InstrumentationTestRunner•查看当前运行的instrument:adbshellpmlistinstrumentationJenkins+Ant+Robotium构建自动化测试持续集成•持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。其中包含一些代码静态检查工具,自动打包和自动测试功能,下面说一下用Jenkins来做自动化测试。环境配置•1、安装jdk•安装1.6或以上版本,配置好环境变量JAVA_HOME。•2、安装tomcat••安装完调试下tomcat是否正常。•3、安装ant••下载zip包,解压后配置好环境变量ANT_HOME。•4、安装jenkins••下载war包,命名为Jenkins,拷贝到tomcat/webapps目录下。•5、安装AndroidSDK••下载安装,完成后配置好Android_SDK_HOME环境变量。此步骤主要用于进行android自动化测试。•安装完成后启动tomcat/bin/startup.bat文件(linux下是startup.sh),在浏览器输入,8080为tomcat端口,即可访问jenkins服务器。插件管理•进入Jenkins页面后系统管理》管理插件》可选插件,分别把下面插件添加进去,已经安装的就不需要再安装。•1、HudsonSubversionPlug-in,jenkins的svn插件。•2、AndroidEmulatorPlugin,android模拟器插件。•3、JUnitAttachmentsPlugin,junit测试报告附件插件。•4、Email-extplugin,邮件扩展插件。此处说明下,默认Jenkins只
本文标题:持续集成自动化测试(robotium jenkins)
链接地址:https://www.777doc.com/doc-3919411 .html