Appium学废系列(一) 初识移动APP自动化测试框架Appium

说到移动APP自动化测试,代表性的测试框架非Appium莫属,从今天开始我们将从APP结构解析、Appium框架学习、安卓/iOS自动化测试实战、自动遍历回归测试、自动化测试平台及持续集成,多个维度一起由浅入深的学废Appium

今天我们先来初步认识Appium,以及移动APP的UI自动化应该怎么设计更合理

Appium设计理念

image.png

Appium在PC机上开启服务后,服务会对外提供一个默认端口4723,对外暴露一个HTTP服务

你的客户端可以发送HTTP请求告诉Appium你想为什么样的程序提供自动化,并帮我点击某个按钮,实现断言

Appium是由WebdriverAgent、espresso、UI automator2 多个服务集成的框架,驱动各端完成自动化测试

Appium支持多语言:python java nodejs,一门语言就可以完成多端测试工作

Appium支持跨平台:Android、iOS、windows、mac

Appium支持底层多引擎可切换吗,比如iOS的:KIF、WDA、XCTest;Android的: robotium、ui automator

Appium生态丰富社区强大:国外appium官方社区,国内Testfan: http://ask.testfan.cn/ 有大量知识沉淀供大家参考

Appium底层引擎列表

image.png

Android:主要的引擎是分为两个,作用不一样

selendroid、Esresso 引擎: 这两个引擎可以完成更加底层的调用,比如调用底层SDK的API

UI automator2:用于支持跨APP测试

Ios:

UI automator:已经废弃

XCUItest: facbook的WDA 就是webdriverAgent

Appium多端架构体系一览图

image.png

1、遍历工具/脚本,通过webdriver发起HTTP请求

2、appium服务接收后, 通过中间引擎去调用对应的APP

3、如果说测手机浏览器、小程序等,需要借助chrome driver、webview内核去调用

合理的使用UI自动化测试

UI自动化测试分为传统的基于测试用例的测试以及自动遍历测试

定义:以自动化的方式对APP进行充分的功能遍历以探索bug、兼容性、稳定性、性能、基本业务的断言

价值:降低自动化维护成本,传统自动化测试更多基于用例维护体系,会有用例维护成本,而自动化遍历则可以省略这些成本,一个APP差不多有50~60%是属于非常简单的浏览,数据展示等,完全可以交给自动化遍历去维护,只有核心、复杂的业务流程可以交给基于用例维护的测试体系去做。

传统自动化不能覆盖到新功能的探索,因为你新功能的用例你还没写好

同样支持老功能的回归

用途:多设备兼容测试、自动化专项测试

常用遍历工具与技术

image.png

单元测试:使用APP分层测试策略,增加单测规模,控制UI自动化测试规模

移动APP自动化测试:核心集成与颜收测试 用例交给自动化测试

自动遍历测试:大部分的基础回归测试交给自动遍历

人工测试:测试团队主负责,整个产品团队参与

使用不同的测试方法 去解决产品种不同的测试诉求,通过安卓官方的测试指导和行业内已经成熟的测试技术,如何对公司的测试体系进行相关建设,从而找到适合自己公司的一套测试手段

你可能感兴趣的:(Appium学废系列(一) 初识移动APP自动化测试框架Appium)