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自动化测试规模

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

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

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

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

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

 文档获取方式:

加入我的软件测试交流群:632880530免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/184628.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++中将数据添加到文件的末尾

参考:https://blog.csdn.net/qq_23880193/article/details/44279283 C中文件的读取需要包含fstream文件,即:#include 文件的读取和写入是是通过流操作来的,这不像输入、输出流那样,库中已经定义了对象cin和cout 文件的读取需要声…

加速度jsudo:小企业会遇到哪些瓶颈期?

什么是瓶颈期?瓶颈期,就是你无论怎么努力,成绩都是上不去,还是停留在原地;而自己表现的还是很匆忙,却不知道如何下手?就像水桶效益一样,水桶的木板高度层次不齐,像极了自…

Spark Core

Spark Core 本文来自 B站 黑马程序员 - Spark教程 :原地址 第一章 RDD详解 1.1 为什么需要RDD 分布式计算需要 分区控制shuffle控制数据存储、序列化、发送数据计算API等一系列功能 这些功能,不能简单的通过Python内置的本地集合对象(如…

在外包干了3年,彻底废了...

前言 先简单说下,我18年的大专生,通过校招去了一家软件公司,在里面干了快3年的功能测试,后面我感觉自己不能够在这样下去了,长时间重复性工作且呆在一个舒适的环境会毁掉一个人,而我已经在一个企业干了3年…

技术分享 | Appium 用例录制

下载及安装 下载地址: github.com/appium/appi… 下载对应系统的 Appium 版本,安装完成之后,点击 “Start Server”,就启动了 Appium Server。 在启动成功页面点击右上角的放大镜,进入到创建 Session 页面。配置好…

PostCSS通过px2rem插件和lib-flexible将px单位转换为rem(root em)单位实现大屏适配

目录 文档postcss中使用postcss-plugin-px2rem安装postcss-plugin-px2rem示例默认配置 webpack中使用postcss-plugin-px2rem项目结构安装依赖文件内容 大屏适配参考文章 文档 类似的插件 postcss-plugin-px2rem https://www.npmjs.com/package/postcss-plugin-px2remhttps://g…

嵌入式系统设计与应用---ARM指令集(学习笔记)

目录 本文图片截取自书本和老师的ppt 概述 指令格式 指令的条件码 ARM的寻址方式 立即寻址 寄存器寻址 寄存器间接寻址 寄存器移位寻址 变址寻址 多寄存器寻址 相对寻址 堆栈寻址 块复制寻址 ARM指令集简介 跳转指令 1.B指令 2.BL指令 数据处理指令 1.数据传…

南昌大学漏洞报送证书

获取来源:edusrc(教育漏洞报告平台) url:https://src.sjtu.edu.cn/ 兑换价格:20金币 获取条件:南昌大学任意中危或以上级别漏洞

XShelll-修改快捷键-xftp-修改编辑器

文章目录 1.XShelll-修改快捷键2.Xftp-修改文本编辑器3.总结 1.XShelll-修改快捷键 工具>选项 鼠标键盘,右键编辑,新建快捷键。 复制粘贴改成shiftc,shiftv。更习惯一些。 2.Xftp-修改文本编辑器 xftp修改服务器文件默认的编辑器,是记…

我是如何快速入门音视频开发的?

最近有读者留言,说“想转行音视频开发,怎么做”,正巧,前几天我还在知乎上,看到有人在问音视频的学习资料,还是个大一的学生。 想说一句:真有眼光。 如今这个时代,想赚钱&#xff0c…

动手学Matplotlib画图,Matplotlib 是一个非常强大的 Python 画图工具。【Matplotlib学习笔记】

一、第一章 1.基本用法 import matplotlib.pyplot as plt import numpy as npx np.linspace(-1,1,50) y 2*x 1 plt.plot(x,y) plt.show()2.figure图像 import matplotlib.pyplot as plt import numpy as npx np.linspace(-1,1,50) y1 2*x 1 y2 x**2 plt.figure() plt…

Java http请求工具连接超时时间

研究了一下三种java常用的http请求工具框架hutool、okhttp3、spring RestTemplate 对于连接超时和读超时的处理机制。 运行环境 jdk8 windows 连接超时 hutool、okhttp3、spring RestTemplate 三种请求,底层使用的都是jdk里的java.net.DualStackPlainSocketImpl#…

Linux 安装 Nginx 并配置为系统服务(超详细)

目录 前言安装 Nginx安装依赖项下载Nginx解压Nginx编译和安装防火墙设置启动Nginx 配置 Nginx 为系统服务配置 Nginx 服务文件启动 Nginx 服务设置开机自启动检查 Nginx 状态停止 Nginx 服务重启 Nginx 服务 卸载 Nginx结语 前言 Nginx是一款卓越的高性能Web服务器&#xff0c…

概率论和数理统计(二) 数字特征与大数定律

前言 有了“概率”数据,怎么反应情况.数学期望与方差,大数,极限 数学期望 期望是数字特征之一,其描述的是随机试验在同样的机会下重复多次,所有那些可能状态的平均结果. 平均数和加权平均数 离散型随机变量期望 连续型随机变量期望 随机变量函数的期望 g ( x , …

Java EE进阶2

包如果下载不下来怎么办? 1,确认包是否存在 2.如果包存在就多下载几次 3.如果下载了很多次都下载不下来,看看是不是下面几步出现了问题? 1)是否配置了国内源 settings.xml 2)目录是否为全英文,存在中文的话就修改路径 3)删除本地仓库的 jar 包,重新下载(可能由于网络的原…

华为取消6000万订单影响在扩大,高通嘴硬强调不受影响

高通公布了2023年第三季度的业绩,业绩显示营收下滑24%,净利润下滑36%,不过高通强调预计今年四季度业绩将回升,意思是说华为取消订单带来的影响较小。 一、高通处境不利已延续4年时间 2019年美国对华为采取措施,众多中国…

04-react基础知识-路由

一、react路由环境安装 使用指令:npm i --save react-router-dom type/react-router-dom进行react路由环境安装 二、引入路由 在main.jsx文件中引入该语句: import { createBrowserRouter, RouterProvider } from react-router-dom 定义一个变量rou…

新登录接口独立版变现宝升级版知识付费小程序-多领域素材资源知识变现营销系统

源码简介: 资源入口 点击进入 源码亲测无bug,含前后端源码,非线传,修复最新登录接口 梦想贩卖机升级版,变现宝吸取了资源变现类产品的很多优点,摒弃了那些无关紧要的东西,使本产品在运营和变现…

四万字Spark性能优化宝典

导读 发现一篇好文,分享给大家。 全文分为四个部分,基本涵盖了所有Spark优化的点,全文较长,建议收藏后PC端查看或工作中问题troubleshooting。 《Spark性能优化:开发调优篇》 《Spark性能优化:资源调优…

重新审视对比特币的九大批评!有些已被揭穿,而有些担忧可能会发生?

近日富达(Fidelity)发布《重新审视持续存在的比特币批评》长篇报告,针对9种常见针对比特币的批评进行回应,希望促使旁观者看清一些先入为主的观念,以理解比特币完整的价值主张。 批评1:比特币波动性太大&am…