自动化培训大纲•测试开发环境搭建•CTS•Monkey•Monkeyrunner自动化测试的概念•自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。测试开发环境搭建•ubuntu安装注意事项•编译环境配置•开发工具的配置eclipse•virtualbox安装CTS•Android的CTS测试,英文为CompatibilityTestSuite,意为兼容性测试。只有通过CTS测试的设备才有可能获得Android的商标和享受AndroidMarket的权限.•在进行CTS测试之前,应该确保已安装了,JDK,SDK,eclipse,前面我们已经完成了测试开发环境搭建。注:CTS测试只能在LINUX系统下进行。•CTS环境搭建•CTS测试分android2.3和android4.0CTS环境搭建1.下载CTS包;下载后解压即可。2.也可以通过编译Android源代码的方式获得。在android源代码目录下输入makects命令来编译CTS,之后会在out/host/linux-x86/cts/下生成android-cts文件夹。这个文件夹就是CompatibilityTestSuit。(这种方法我还没有试过)3.设置环境变量,可直接在linux的shell中输入exportPATH=“$PATH:/my_path”其它my_path就是stratcts的路径,如我的是/home/tang/endroid_env/cts/android-cts/tools/startcts,其中引号是双划线,非中文引号在手机或者模拟器上安装CtsDelegatingAccessibilityService.apk和CtsDeviceAdmin.apk这个包在android-cts/repository/testcases中。可以直接在手机里安装,也可通过命令安装adbinstall+包名CTS环境搭建4.去官网下载android-cts-media-1.0,网址::然后装备一张T卡,连上手机,运行media目录下的copy_medit.sh考贝到SD卡5.去,这个是装在SD卡,主要是解决手机设置TTS中的CASE。到这里安装的就差不多了。手机或模拟器的设置:1.进入settings-Privacy-Factorydatareset,对平台进行reset一次2.进入settings-Wireless&networks,连接AP(AP需要连外网),打开Bluetooth3.进入settings-display-screentimeout,设为nevertimeout,如果没有这个选项,则设为30minutes4.进入settings-display,勾选auto-rotatescreen5.进入settings-applications-development,勾选USBdebugging,stayawake和allowmocklocations三项6.进入settings-accessibility,勾选accessibility和CtsDelegatingAccessibilityService两项7.进入settings-language&keyboard-selectlanuage,设为English(UnitedStates)8.平台插入一张TF卡(最好是空卡)修改startcts中的SDK_ROOT•这个只针对2.3的,进入android/out/host/linux-x86/cts/android-cts/repository/tools目录下,修改startcts脚本文件。将脚本中的SDK_ROOT该成自己的androidSDK路径.$cdhome/tester/cts/android-cts/repository/tools$vimstartcts修改脚本中出现的第一个SDK_ROOT,如“SDK_ROOT=/home/tang/android_env/android-sdk-linux_x86,同时可修改host_config.xml中的•IntValuename=“maxTestCount”value=“0”/把这个值改成0。手机测试时就不会重启了,如果不改,默认是执行200case重启一次•4.0的不须要配置,直接运行cts-tradefed这个即可。文件和2.3同目录CTS测试现在我们可以进行CTS测试了,直接在shell中输入startcts(4.0的输入cts-tradefed)启动CTS测试,如果提示找不到文件,第一:环境变量设置有错,我们可以到startcts的路径中输入./startcts,在没有设置环境变量的情况下同样可以使用。出现如下提示说明运行成功:Android2.3时进入运行CTS的界面tang@tang-desktop:~$startctsAndroidCTSversion2.3_r5Device(0123456789ABCDEF)connected//注:红包部分会设备ID号,视情况而定cts_hostcts_hostAndroid4.0时进入运行CTS的界面tzb@tzb:~/share/CTS/4.0/android-cts/tools$./cts-tradefedAndroidCTS4.0.3_r2cts-tfCTS(2.3)中常用的几个命令在“cts_host”提示符下输入命令,以下为几个常用的命令a.help查看所有b.exit退出c.ls-p列出所有的测试包d.ls--plan列出所有的测试方案e.start--planplan_name运行一个测试方案,如:start–planCTSf.start--planplan_name--packagepackage_name运行一个特定的测试包,如:start--planCTS--packageandroid.bluetoothCTS(4.0)中常用的几个命令在“cts_host”提示符下输入命令,以下为几个常用的命令a.help查看所有b.exit退出lpackages列出所有的测试包a.lp列出所有的测试方案runcts--plantest_plan_name运行一个测试方案,如:runcts–planCTSruncts--class/-c[--method/-m]:运行一个特定的测试包,如:startcts-cpackage-mandroid.bluetooth查看测试报告运行测试时,在CTS运行界面能看到测试报告与运行状况。测试完成后可在android-cts/repository/results/下生成详细的测试报告和一些附加信息,其中用日期和时间命名的文件夹下为所有的测试结果,同时文件夹也会被打成一个对应的.zip包方便提交。用浏览器打开.xml文件(默认就是,直接双击)就可以查看所用的测试报告了monkey一、Monkey测试简介二、Monkey程序介绍三、Monkey命令的简单帮助四、Monkey命令参数介绍Monkey测试简介1.monkey可以直接在XP上运行,只要XP上能用adb,即可使用2.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。Monkey程序介绍1)Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar;2)Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;这样就可以通过在shell窗口中执行:adbshellmonkey{+命令参数}来进行Monkey测试了。Monkey命令的简单帮助要获取Monkey命令自带的简单帮助,在linux的shell中执行命令:adbshellmonkey–help对于monkey可测试的包可以通过adb来查看:adbshellcddata/data可测试的包都在这里面了Monkey命令参数介绍参数:-p参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。*指定一个包:adbshellmonkey-pcom.htc.Weather100说明:com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。*指定多个包:adbshellmonkey-pcom.htc.Weather–pcom.htc.pdfreader-pcom.htc.photo.widgets100*不指定包:adbshellmonkey100说明:Monkey随机启动APP并发送100个随机事件。2)参数:-v用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:日志级别Level0示例adbshellmonkey-pcom.htc.Weather–v100说明缺省值,仅提供启动提示、测试完成和最终结果等少量信息日志级别Level1示例adbshellmonkey-pcom.htc.Weather–v-v100说明提供较为详细的日志,包括每个发送到Activity的事件信息日志级别Level2示例adbshellmonkey-pcom.htc.Weather–v-v–v100说明最详细的日志,包括了测试中选中/未选中的Activity信息测试用的其它monkey其它参数:参数:-s用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。参数:--throttle毫秒用于指定用户操作(即事件)间的时延,单位是毫秒;参数:--ignore-crashes用于指定当应用程序崩溃时(Force&Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。参数:--ignore-timeouts用于指定当应用程序发生ANR(ApplicationNoResponding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。还有很多命令,大家可以到网上去查资料。(可见附件)monkeyrunnerMonkeyrunner只有能用adb的电脑上都能运行,我们从以下几方面对基进行介绍:•Monkeyrunner简介•monkeyrunner工具同Monkey工具的差别•monkeyrunner的测试类型•运行monkeyrunnerMonkeyrunner简介•monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。