最近在整理Android自动化测试的相关资料,大体上把一些知识点梳理了,这里做一个简单的分享!

Android里面测试相关的工具和框架太多了。你应该从以下几个方面入手。

编程语言的选择

如果你要学习的是Appium的话,当然它是移动自动化测试领域最流主流的工具之一,同时支持iOS和Android两大平台,最主要是还支持多种编程语言(Java/Python/C#/JavaScript…等),这是它能得到广泛使用的原因之一。如果你只想做APP UI层的自动化测试,那么,你完全可以使用自己熟悉的编程语言来做Appium自动化测试。

我发现用Python + Appium的人非常多。这主要是因为Python简单,在测试圈有广泛的应用基础。不过,这里我推荐使用Java,虽然我个人最熟悉的是Python。这里选择Java的主要原因是因为,我对Android自动化测试的学习不想只停留在UI层,我还想知道Android的单元测试怎么做,怎么调用接口?甚至是CPU,内存的调度是怎样的。

所以,我需要知道Android应用是怎么被开发出来的。Android应用的开发目前只能用Java,这就是我选择Java的理由。

从哪里开始入手

知道了我的选择,肯定也知道我会从哪里下手了。先不要着急去搭建Appium/Robotium这样的自动化能测试环境。建议先把Android开发环境搭建起来,参考Android官方文档,把上面的一个demo跑起来。这样你就会了解到Android开发的基本流程,并认识到你要操作的按钮、输入框等其实是由布局文件定义的。对Android开发越熟悉,自动化测试才能做得更好。

Android测试框架

这就是Android测试相关的一些工具和框架。看到这些时我内心是崩溃! 这么多怎么学?它们都是啥,我到底该学啥?

官方文档中测试库支持主要介绍了AndroidJUnitRunner、Espresso 和 UI Automator

AndroidJUnitRunner类是一个JUnit运行器,可以在你设备上运行JUnit3或者JUnit4风格的测试代码。并且同时支持Espresso 和UIAutomator测试运行。所以,AndroidJUnitRunner不是一个单独的测试工具,它只是一个运行Junit单元测试的组件。(其实,这里又隐含了一个前提条件,你需要知道Junit单元测试框架。)

Espresso是一个非常好的白盒风格的自动化测试框架,它与测试目标运行在同一个APP下。你可以把Espresso看作是Android的单元测试框架。

UI Automator测试框架非常适合写黑盒box-style自动化测试,测试代码不依赖于目标应用程序的内部实现细节。所以,UI Automator是Android的UI测试框架。

先把以上三个工具搞明白,那么你就可以做Android 单元/UI自动化测试了。

 

Appium学习

为什么还要学习Appium?因为它流行嘛,支持多平台(Android/iOS)、多语言、混合应用(原生代码和Web内容交互);社区活跃,资料丰富。出门打怪升级必备技能。

Appium的学习分三部分:

* 编程语言(Java/Python/Ruby...)

* Appium API(Android APP界面元素定位与操作)

* 单元测试框架(测试用例的组织与执行,以及生成测试报告)

其实,所有自动化测试技术的学习都是一样的。把Appium换成Selenium,那么就是Web UI自动化测试的学习内容了。我们应该是花费更多力气学好的是编程语言和单元测试框架。这两个搞定了,再学习新的领域的自动化技术才能事半功倍。

更多测试 文章搜索公众号 “测试圈TC”

Android自动化测试学习路线的更多相关文章

  1. 最实用的Android开发学习路线分享

    Android开发学习路线分享.Android发展主导移动互联发展进程,在热门行业来说,Android开发堪称火爆,但是,虽然Android有着自身种种优势,但对开发者的专业性要求也是极高,这种要求随 ...

  2. Android开发学习路线的七个阶段和步骤

    Android开发学习路线的七个阶段和步骤           Android学习参考路线     第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环. 2.String和St ...

  3. Robotium原理初步--Android自动化测试学习历程

    章节:自动化基础篇——Robotium原理初步(第四讲) 主要讲解内容与笔记: 一.基于控件 1.spinner——下拉菜单 2.TabHost——左右滑动选择菜单,类似电话本 3.Gallery—— ...

  4. 百度Cafe原理--Android自动化测试学习历程

    主要讲解内容及笔记: 一.Cafe原理 Cafe是一款自动化测试框架,解决问题:跨进程测试.快速深度测试 官网:http://baiduqa.github.io/Cafe/ Cafe provides ...

  5. Appium原理初步--Android自动化测试学习历程

    章节:自动化基础篇——Appium原理初步(第七讲) 本期关键词: Appium.跨语言跨平台.Bootstrap 主要讲解内容及笔记: 一.what is appium 一种封装了uiautomat ...

  6. Selenium原理初步--Android自动化测试学习历程

    章节:自动化基础篇——Selenium原理初步(第五讲) 注:其实所有的东西都是应该先去用,但是工具基本都一样,底层都是用的最基础的内容实现的,测试应该做的是: (1)熟练使用工具,了解各个工具的利弊 ...

  7. 自动化预备知识上&&下--Android自动化测试学习历程

    章节:自动化基础篇——自动化预备知识上&&下 主要讲解内容及笔记: 一.需要具备的能力: 测试一年,编程一年,熟悉并掌握业界自动化测试工具(monkey--压力测试.monkeyrun ...

  8. Android-Junit-Report测试报告生成——Android自动化测试学习历程

    视频地址: http://www.chuanke.com/v1983382-135467-384869.html 这个内容其实已经在用了,我在上一篇文章robotium—只有apk文件的测试中已经讲过 ...

  9. (2018干货系列十)最新android开发学习路线整合

    怎么学Android Android是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导.据2011年初数据显示仅正式上市两年的操作系统Android ...

随机推荐

  1. springboot Redis 缓存

    1,先整合 redis 和 mybatis 步骤一: springboot 整合 redis 步骤二: springboot 整合 mybatis 2,启动类添加 @EnableCaching 注解, ...

  2. spring一些简单小注意知识点

    Spring 配置详解 <!-- Bean元素:使用该元素描述需要spring容器管理的对象            class属性:被管理对象的完整类名.            name属性:给 ...

  3. PyCharm快捷键使用

  4. 初见jQuery EasyUI

    本文通过一个简单的小例子,简述jQuery EasyUI的使用方法,仅供学习分享使用,如有不足之处,还请指正. 什么是jQuery EasyUI ? 引用官网的一句话:jQuery EasyUI fr ...

  5. ngx-moment汉化

    1.导入汉化文件 import '../../../node_modules/moment/locale/zh-cn.js' 2.使用汉化 <span>{{item.time|amLoca ...

  6. matlab练习程序(波纹扭曲)

    其实就是用sin或cos对x,y坐标进行变换,处理的时候依然是反向变换. 类似的,用不同的函数能得到不同的扭曲效果,比如log,1/x,exp等等. 效果如下: 代码如下(还给出了如何生成gif图片的 ...

  7. 适配器Adapter

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/3/4 22:13 # @Author : ChenAdong # @emai ...

  8. Hibernate设置事务的隔离级别

    方式有两种: 1)修改配置文件hibernate.cfg.xml实现 <hibernate-configuration> <session-factory> ...... &l ...

  9. 盒子模型、网页自动居中、float浮动与清除、横向两列布局

    1.CSS包含:标准文档流,浮动,绝对定位 标准文档流的特点:从上到下,从左到右,输出文档内容 盒子模型:块级元素(div ui li dl dt p)与行级元素(span strong img in ...

  10. java调用天气预报接口案例

    免费天气接口:http://mobile.weather.com.cn/data/sk/城市ID.html 例如: http://mobile.weather.com.cn/data/sk/10124 ...