腾讯Android自动化测试实战3.1.3 环境搭建

简介:

3.1.3 环境搭建

使用Robotium进行自动化测试的工程采用的是Android Junit Test工程,基础环境与Android开发环境一致,为了方便本书第3章及第10章的讲解,本书的官网(http://tmq.qq.com/)附上了改造后的NotePad和NotePadTest工程,环境搭建步骤如下:

步骤1:安装基础环境(搜索引擎搜“Android开发环境搭建”)。

步骤2:导入工程。

下载随书官网中的NotePad和NotePadTest两个工程,打开Eclipse→File→Import,选择“Existing Projects into Workspace”,如图3-2所示。选择NotePad工程所在的目录,导入NotePad工程。使用相同的步骤,导入NotePadTest工程。如图3-3所示。

 

图3-2 选择导入已存在的工程至工作空间

 

 

 

图3-3 选择NotePad及NotePadTest工程所在的目录

步骤3:配置工程。

导入两个Demo工程后,由于两个工程均包含有一些配置文件,因此如果没有提示错误,则可以直接使用;如果还有提示错误,请依实际情况检查以下配置项。

(1)配置签名:两个工程需要签名一致,这里使用Android开发环境中自带的debug.keystore进行签名,因此需要确保环境中包含该签名文件,签名配置查看:Window→Preferences→Android→Build,如图3-4所示。

(2)配置build target:build target即指定使用哪个Android平台来构建这个项目,两个工程均配置为使用target=android-19,即使用sdk中platforms目录下android-19目录中的android.jar这个jar包编译项目,如图3-5所示。

若你的开发环境中未下载相应的API level的jar包,请使用SDK Manager下载,或者自行将project.properties配置文件中的target换成用户机器中已下载的API level。

 

图3-4 检查签名文件

 

图3-5 配置build target

(3)引用Robotium的jar包并关联源码:Robotium测试框架以jar包形式提供,在测试工程中引用Robotium的jar包即可。Android的Junit形式测试工程与Android工程一样,将要引用的jar包放入libs目录下,在Eclipse中将默认变成Android Private Libraries私有库,这样默认在Eclipse中就可以引用该jar中的API,在编译时也会将其编译进测试工程的APK中,如图3-6所示。

此外,为了方便查看Robotium中的源码实现,一般也会选择关联引用的jar包的源码,如上图所示,在libs中新建相应的properties文件,然后使用src = 形式的命令指定源码所在的目录即可。

 

 

图3-6 配置Robotium的jar包并关联源码

(4)配置编码:新导入工程后,由于工程里会含有一些中文注释,常常会由于编码不一致,导致代码结构被破坏而引起工程编译出错,Demo中的两个工程均采用UTF-8编码,因此需要检查导入后编码是否为UTF-8,右键工程依次选择Properties→Resource,查看编码,如图3-7所示。

 

图3-7 配置编码

(5)配置Instrumentation:测试工程需要配置Instrumentation以指定要注入的被测进程,即指定被测App,在NotePadTest中使用<instrumentation>标签指定targetPackage为被测应用的包名,如图3-8所示。

步骤4:运行示例。

首先确保有手机开启了USB调试,并连接了电脑,然后如图3-9所示,右键选择示例的测试类,例如右键选择NotePadTest.java类,选择Run As→Android Junit Test,即可运行Demo中的测试用例。

 

 

图3-8 配置Instrumentation

 

图3-9 运行示例

对于环境搭建,新手较容易出现如下问题:

常见问题1:The import android cannot be resolved

需要检查上文配置工程部分中配置的build target是否正确。

常见问题2:java.lang.NoClassDefFoundError:com.robotium.solo.Solo

NoClassDefFoundError指在编译时该类是存在的,但在运行的时候找不到该类,报找不到Solo类时一般意味着Robotium的jar包未打进测试工程的apk包中。首先,右键测试工程→Build Path→Configure Build Path,查看确保在Libraries中包含了Robotium,如图3-10所示。由于demo中将Robotium的jar包放至libs目录下了,因此默认将包含至Android Private Libraries中。

然后,如图3-11所示,在Build Path的Order and Export中确保Robotium的jar包处于勾选状态(处于勾选状态即意味着该jar的Class类将被打包进测试工程的APK中,而例如Android SDK中的android.jar包,由于其Class类在手机的Android系统中已存在,因此不需要勾选,在运行时也可以找到相应的类)。

 

图3-10 确保Libraries中包含Robotium

 

图3-11 确保Order and Export中Robotium的jar包被勾选

相关文章
|
3月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
19天前
|
Linux Android开发
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
13 0
|
3天前
|
IDE Java 开发工具
安卓开发环境安装教程
安卓开发环境安装教程
8 0
|
3天前
|
Java 测试技术 持续交付
自动化测试框架选型与实战:深入探索与应用
【5月更文挑战第8天】本文探讨了自动化测试框架的选型与实战应用,强调了其在软件质量保障中的重要性。选型原则包括考虑项目需求、技术栈、可扩展性和可维护性,以及社区支持和文档。介绍了Selenium、Appium、JUnit和Pytest等常用框架,并概述了实战应用的步骤,包括明确需求、搭建环境、编写测试用例、执行测试、分析结果、维护代码和持续集成。合理选型与实践能提升测试效率,保障项目成功。
|
4天前
|
Oracle Java 关系型数据库
Android零基础入门(一)配置环境和安装Android Studio
Android零基础入门(一)配置环境和安装Android Studio
13 0
|
18天前
|
网络协议 测试技术 网络性能优化
Android系统 以太网吞吐量和丢包测试
Android系统 以太网吞吐量和丢包测试
30 1
|
18天前
|
存储 应用服务中间件 网络安全
Android 网络链接稳定性测试解决方案
Android 网络链接稳定性测试解决方案
20 0
|
19天前
|
Linux 测试技术 Android开发
测试程序之UART 232/485适用于Android/Linux
测试程序之UART 232/485适用于Android/Linux
21 0
|
19天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
15 0
|
19天前
|
Java API Android开发
Android 11 修改libcore Cipher AS测试
Android 11 修改libcore Cipher AS测试
14 1