(转)Sword Android测试框架手机页面自动化基础实践

2012-12-21  白云 

最近因为业务需要学习了下Sword Android测试框架,因为是第一次接触无线自动化,现将学习过程记录如下

1. 基础环境的搭建

1) JDK6Android SDK需要JDK5或者是更高的版本,本机装的是jdk6(安装步骤略)

2) Maven的安装(安装步骤略)

3) ECLIPSE的安装,本机装的是eclipse3.7(安装步骤略)

4) Android SDK的安装:下载地址:http://developer.android.com/sdk

下载完成后,将adt-bundle-windows-x86.zip解压放到一个方便的位置(如:D:\Android\adt-bundle-windows-x86),将SDK的目录添加到Windowspath环境变量中:在桌面上右击“我的电脑”,依次点击【属性】>【高级】>【环境变量】。双击【系统变量】里面的Path项,将Android SDKtoolsplatform-tools目录的完整路径添加到这里。检查SDK是不是安装成功运行 android h 如果有类似以下的输出,表明安装成功:

5) ADT的安装

启动eclipse,进入菜单中的 "Help" -> "Install New Software",点击Add...按钮,弹出对话框要求输入NameLocationName自己随便取,Location输入http://dl-ssl.google.com/android/eclipse。如下图所示:

确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android DDMSAndroid Development Tool,勾选他们。 如下图所示:

 

然后就是按提示一步一步next 完成之后选择Window > Preferences... 在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径 ,点击ApplyOK。配置完成。

6) 创建AVD

为使Android应用程序可以在模拟器上运行,必须创建AVD。在Eclipse中。选择Windows > Android virtual Device Manager,点击左侧面板的Android Virtual Devices,再右侧点击New ,填入AVD nameDevices,TargetAPI Skin随便选,Hardware目前保持默认值 点击Create AVD即可完成创建AVD,如下图所示:

7) ApkTool的安装

下载地址:

http://code.google.com/p/android-apktool/downloads/list

下载下来后,将以上2个文件全部解压,放在电脑上任一位置,如放D:\Android中,将apktool1.5.0文件夹中的apktool.jar放进D:\Android\apktool-install-windows-r04-brut1,在环境变量的path中增加ApkTool的命令行工具的路径,如:

 

设置成功后,点击开始->运行->cmd 输入apktool,出现下图:

 

则安装成功。

2.创建maven工程,如图:

修改pom.xml文件,增加

<dependency>

<groupId>com.taobao.test</groupId>

<artifactId>sword.android.client</artifactId>

<version>0.1-SNAPSHOT</version>

</dependency>

注:如果是非淘宝的setting.xml的话,则还需要在setting.xml中增加

配置

3. 生成重签名被测Apk以及测试Apk

maven工程中建一个java类,如APK.JAVA,新增如下代码:

点击运行,运行结束后会在被测Apk所在的文件目录中新生成两个Apk 其中后缀为.sword.signed.apk的是重新签名的被测Apk,后缀为.sword.test.apk的是测试的Apk,将新生成的两个apk安装到手机,安装的工作是一次性的,在测试代码开发调试过程都不需要再重新安装,只有更新被测Apk或升级sword框架时才需要重新生成并安装, 如果需要更新被测Apk,将resignApk变量设置为true,如果需要升级sword框架,将createTestApk变量设置为true

4.生成对象库。

将手机与PC机相连,手机设置成USB调试模式,在pc机运行->CMD->输入adb devices,如图

 

检查是否有驱动,有则如上显示,才能进行后续工作,没有,则需要安装驱动。

新建java类,在java类增加如下代码,packageName为测试包名称,activityName为需要生成对象库的Activity名称,savePath为生成对象库文件的路径

执行这个java类,将会在savePath上生成“Activity完整名字.library”的packagepackage下生成两个类,如下图

 

5.使用对象库

生成对象库之后我们可以直接使用这个对象库类,通过start方法启动Activity

如:

MainActivity2 mainActivity2 = MainActivity2.start(driver);

mainActivity2.editText_searchedit.setText(searchKeyword);

mainActivity2.imageView_searchbtn.click();

也可以不用生成的对象库,直接写

6.创建测试用例,下面是没有使用生成对象库直接写的测试用例,如图所示:

点击运行,运行结果如下:

 

注意,在运行测试用例过程中,手机需与PC机相连,运行时框架会自动启动测试Apkinstrumentation,并打开主Activity,对主ActivityidsearcheditEditText输入值,再点击idsearchbtnImageView 然后等待搜索结果的Activity打开,打开后获取搜索list的总行数,最后验证总行数是否大于1

------------------------------------------------------------------------------------

转自:http://www.taobaotest.com/blogs/2308

 

 

494°/4948 人阅读/0 条评论 发表评论

登录 后发表评论