当前位置: 首页 > news >正文

Appium —— 初识移动APP自动化测试框架Appium

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

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

1、Appium设计理念
Appium是开源的、由WebdriverAgent、espresso、UI automator2 多个服务集成的框架,驱动各端完成自动化测试

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

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

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

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

2、Appium底层引擎列表
Android:主要的引擎是分为两个selendroid、Esresso 引擎: 这两个引擎可以完成更加底层的调用,比如调用底层SDK的APIUI automator2:用于支持跨APP测试、兼容性测试

IOS: XCUItest引擎UI automator:已经被Apple公司废弃XCUItest:Facbook的WDA(webdriverAgent)

3、Appium多端架构体系一览图

 

遍历工具 or 脚本,通过webdriver发起HTTP请求

appium 服务接收后, 通过上述所说的中间引擎去调用对应的Api 或 App

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

4、合理的使用UI自动化测试
UI自动化测试分为传统的基于测试用例的测试以及自动遍历测试基于测试用例的测试

价值:基于用例维护体系,核心、复杂的业务流程须交给基于用例维护的测试体系去维护、支持老功能的回归

缺点:会有用例维护成本、不能覆盖到新功能的探索,需重新写测试用例

自动遍历测试

定义:以自动化的方式对APP进行充分的功能遍历以探索bug

价值:降低自动化维护成本,覆盖兼容性、稳定性、性能、以及基本业务的断言一个APP差不多有50~60%是属于非常简单的浏览,数据展示等,完全可以交给自动化遍历去维护,同样支持基础老功能的回归

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

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

基于测试用例的测试:核心集成与验收测试 用例交给自动化测试

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

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

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

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

http://www.lryc.cn/news/263537.html

相关文章:

  • 自助式可视化开发,ETLCloud的集成之路
  • diffu-Distributed inference with multiple GPUs
  • 在Python中使用Kafka帮助我们处理数据
  • 进程和线程和协程区别
  • 银行测试:第三方支付平台业务流,功能/性能/安全测试方法
  • 神经网络可以计算任何函数的可视化证明
  • SQL进阶理论篇(十三):数据库的查询优化器是什么?
  • 视觉SLAM中的相机分类及用途
  • Gin之GORM多表关联查询(多对多;自定义预加载SQL)
  • linux 调试工具 GDB 使用
  • qt程序在Linux下打包的一般流程
  • 华为鸿蒙应用--欢迎页SplashPage+倒计时跳过(自适应手机和平板)-ArkTs
  • spring MVC概述和土门案例(无配置文件开发)
  • 持续集成交付CICD:K8S 通过模板文件自动化完成前端项目应用发布
  • 【TB作品】51单片机 实物+仿真-电子拔河游戏_亚博 BST-M51
  • MyBatis ${}和#{}区别
  • 大型语言模型:RoBERTa — 一种稳健优化的 BERT 方法
  • webpack知识点总结(基础应用篇)
  • 监控k8s controller和scheduler,创建serviceMonitor以及Rules
  • 支持向量机 支持向量机概述
  • http -- 跨域问题详解(浏览器)
  • Java对接腾讯多人音视频房间回调接口示例
  • vp与vs联合开发-通过FrameGrabber连接相机
  • 音视频直播核心技术介绍
  • JNDI注入Log4jFastJson白盒审计不回显处理
  • FPGA实现腐蚀和膨胀算法verilog设计及仿真 加报告
  • 核和值域的关系:什么是矩阵的秩?
  • 【MyBatis Plus】Service Mapper内置接口讲解
  • 制作一个简单 的maven plugin
  • 基于linux系统的Tomcat+Mysql+Jdk环境搭建(三)centos7 安装Tomcat