android 自动化 测试,全程手把手教你实现Android自动化测试,实践案例分享

自动化测试概念详解:

1. Package:是指一个应用的标名,是Android系统中为每一个应用程序分配的一个标志,每个应用的标志都必须是不同的。

查询应用的Package:aapt dump badging xxxx.apk |findstr "package"

2. Activity:是用户界面的概念,通常表示应用程序的一个屏幕,通常包含一个或多个view,也可以不包含view。

查询应用的启动Activity:aapt dump badging xxxx.apk |findstr "launchable-activity"

3. View:是UI元素,是构成用户界面的基本构建块。view可以是一个按钮,标签,文本或者各种UI的其他元素。命令行输入monitor可以查看界面元素。

按开发阶段来划分依次分为:UI界面测试、集成测试、单元测试,今天咱们学习的内容是基于UI移动端的自动化测试基于用户界面层而展开的。

35e981598418e3bcd19f5b894375a20e.png

Appium工作原理分析

1、左边的WebDriver script是我们的selenium测试脚本。

2、中间是起的Appium的服务,Appium在这边起了一个Server(4723端口),跟seleniumWebdriver测试框架类似,Appium支持标准的WebDriver SONWireProtocol 。在这里提供了一套web服务,Appium Server接收web driver 标准请求,解析请求内容,调用对应的框架响应操作。

如:脚本发送一个点击按钮的请求给appium server,

3、appium server会把请求转发给中间件Bootstrap.jar ,它是用java写的,安装在手机上.

Bootstrap 接收appium 的命令(4724端口),最终通过调用UiAutomator的命令来实现。

最后执行的结果由Bootstrap返回给appium server

测试脚本-AppiumServer-Driver-Devices

61602107f8d7bd9e42cba37b151a963e.png

自动化测试案例剖析

1.命令行输入"monitor"

2.通过Android Devices Monitor来识别控件(View)的ID

案例一:通过ID对控件进行点击或输入操作

8042dc388e8fa62f1669eadfe93473e6.png

3.自动化测试脚本开发

4. 脚本脚本调试过程

e2ed34ff53e9d9bad91d26ffd8c7c007.png

5. 代码解释:使用Java代码实现View(控件)点击输入操作

7406012127ebd854c6609858cc8ed5bd.png

6. 通过View(控件)的Text属性捕获控件的情形:

7ad2a04cfd4b5ddfffa410d9b53ceaab.png

7. 通过View(控件)的Class与索引属性捕获控件的情形:

1、view(控件)没有ID与Text属性。

2、view(控件)有ID,但是ID不唯一。

38d57412aadd94b307589a3edbdb1d97.png

8. 通过class和索引查找控件

以下代码是实现通过class属性控件来查找基于安卓界面的元素方法的封装,大家可以借鉴一下学习思路,以便更好的开展自动化测试。

代码解释:使用Java代码实现View(控件)点击输入操作

23b85faf8c15d998ad388cdf317e7992.png

9. 对滚筒控件进行上下左右的滑动

很多时候我们做移动端的功能测试,经常会使用上下或者左右滑动等相关操作,今天咱们这一小节主要告诉大家如果使用java代码来实现上下左右的滑动方法封装

fabad663d1b486b295a18feffb56c85f.png

对界面进行上下左右的滑动代码实现

0bb0786d218f391664ad8b5c1e2f547e.png

10. Android应用里面发语音信息经常会长按录音

平时大家使用移动端app经常会碰到发语言长按录音按钮的功能,那这个功能如何定位元素?请看下图所示:

22b9bc5046b2cfd87777f9045e27cbdc.png

11. 使用Java代码实现界面拖拽

基于自动化测试集的运用

测试集的理解:

顾名思义就是集合,通常我们把一个系统的所有脚本看做是一个大的集合(100个脚本),如果我们想取一个子集(7个脚本)来测试,那么我们可以把这7个脚本创建一个小的集合,即为测试集。

测试集的应用场景:

场景一:开发提交一个测试版本V5.0。我们通过分析之后要确认了可能会影响已有的几个功能,我们就可以把受影响的功能加到一个测试集,单独运行。

场景二:在手动测试过程中,我们需要自动化脚本配合做一些测试数据或者进行一些其他的半自动化测试,那我们就可以把需要的脚本添加到测试集中运行。

场景三:一个版本我们测试几轮之后功能已基本稳定,并且这些功能已经转化为自动化脚本。这时候开发突然又提交了一个bug的修复,需要我们再验证一下。那么这个时候我们就可以把自动化脚本添加到测试集来验证这些功能。

一个系统分多个模块,一个模块有多个测试脚本,多个测试脚本组装成一个测试集,测试集可以理解成一个测试套件由多个用例组合或者可以理解成一个项目的多个测试用例即可。

65fa0ecc6df232ae89c954e66047a2a9.png

测试集合界面

90eb2b3a11752e5db7589254f514d118.png

2. 查看并分析测试结果界面如下图所示:

7d6de81f89caa1c1710f3d7c5ef547b0.png

自动化测试最重要的是基于编写的自动化测试脚本实现自动化测试从而得到相应的自动化测试结果,然后针对结果内容进行详细的分析,分析脚本执行通过率及系统的软件质量如何,一般是通过自动化测试报告来实现。

总结:今天咱们主要学习了基于移动端自动化测试的相关概念及appium的工作原理,基于项目分享了一些相关案例,最后主要讲解了基于移动端元素定位方法的封装实现过程,包括最后的测试集、测试执行、测试报告、测试结果的呈现,与大家详细的讲解了基于Android自动化测试相关的知识点,希望大家掌握,如果觉得对自身有帮助欢迎关注与讨论。

举报/反馈

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值