一,移动端测试是什么?
移动端测试是指对移动应用进行的测试,即实体的特性满足需求的程度。
二,移动端测试分类?
1)app功能测试:
-
业务逻辑正确性测试
文档
-
兼容性测试
系统版本 分辨率 网络情况
-
异常测试
热启动应用(后台运行) 网络切换&中断恢复 电话&信息中断恢复
-
升级&安装&卸载测试
-
健壮性测试
手机资源消耗 流量消耗 崩溃恢复等测试
2)app自动化测试:
通过场景和数据的预设,把以人为驱动的测试行为转化为机器执行的一种过程,并不是所有功能都能进行自动化。
3)app安全测试:
通过安全测试技术,保证app尽可能的不存在安全漏洞.
三,主流移动端自动化测试工具
1)Robotium:
1.支持语言:Java
2.仅支持Android系统
3.不支持跨应用
2)Macaca:
1.支持语言:Java,Python,Node.js
2.支持Android和iOS系统
3.支持跨应用
3)Appium :
1.支持语言:Java,C#,Python,php,perl,ruby,Node.js
2.支持Android和iOS系统
3.支持跨应用
自动化工具选择的关注点:
1.是否支持native,webview
native 原生应用(应用就是APP),系统自带的应用都是原生webview 网页应用,html写的,像新闻网页都是,native 比 webview 要运行快很多
2.是否支持获取toast
(toast就是:比如在我们用APP时联网的,网络不行,会弹出来一个 “网络不给力“ 这样的提示框,
在出现1--3秒后消失的那个。 toast中文原意烤面包,这里代指弹出来那一下)
3.是否支持跨应用
四,移动测试环境搭建
1)Appium介绍:
1,Appium是一个移动端的自动化框架,
2,可用于测试原生应用,移动网页应用(webview)和混合型应用,
3,且是跨平台的。可用于iOS和Android以及firefox的操作系统。
4,原生的应用是指用android或ios的sdk(基于java)编写的应用,
5,移动网页应用是指网页应用,类似于ios中safari应用或者Chrome应用或者类浏览器的应用。
6,混合应用是指一种包裹webview的应用,原生应用于网页内容交互性的应用。
7,重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例。
(Python和Java都是跨平台的,只要有基本环境,Java就是那个JDK开发环境包含JRE JRE是单纯的环境)
2)Appium特点:
1,使用自动化来测试一个app,但是不需要重新编译它
2,写自动化case(用例),不需要学习特定的语言
3,一个自动化框架不需要重复造轮子
4,一个自动化框架需要开源,在精神和实践上实现开源
3)Appium自动化测试环境搭建:
我们使用Appium和python来进行自动化测试,需要安装两个东西,一个是Appium的客户端,一个是Appium-python库。这两个需要安装的东西在加上手机就可以进行自动化测试,它们之间的关系是:python代码 -> Appium-python库 -> Appium -> 手机。
4)Appium背景:
官网:www.appium.io,由SauceLab公司开发
Appium是由nodejs的express框架写的Http Server,Appium使用WebDriver的json wire协议,
来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架
5)Appium-python库安装:
这个数字3的意思就是在我们的电脑中装的python版本,如果装了2和3的,想装在哪个版本上就打数字几,
像我们现在电脑中就只有一个3.6版本的,就不要数字了 直接 PIP install
pip3 install Appium-python-client