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

2024-01-09

说到移动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)

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

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

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

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

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

4、 合理的使用UI自动化测试

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

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

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

自动遍历测试

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

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

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

4、 移动APP分层测试策略

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

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

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

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

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

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:自动化测试老司机! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Appium —— 初识移动APP自动化测试框架Appium 的相关文章

  • Jmeter 性能-阶梯式性能指标监听

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 性能-阶梯负载最终请求数

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • 甜蜜而简洁 —— 深入了解Pytest插件pytest-sugar

    在日常的软件开发中 测试是确保代码质量的关键步骤之一 然而 对于测试报告的生成和测试结果的可读性 一直以来都是开发者关注的焦点 Pytest插件 pytest sugar 以其清晰而美观的输出 为我们提供了一种愉悦的测试体验 本文将深入介绍
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它
  • Protractor 的 waitForAngular() 在 angular-webapp 上失败(真实设备上的 appium/chrome)

    我 新 使用量角器来运行 e2e 黄瓜测试 我有一个基于 angularJS 的网络应用程序 我正在使用 appium 在真实的 Android 设备上远程运行测试 这是我正在使用的版本 windows8 1 email protected
  • 使用appium进行Android UI自动化测试

    我几周后刚刚开始进行 Android UI 自动化测试 我曾经尝试过使用robotium 现在我想更改为appium框架 我的问题是 我读到appium是一个测试webview应用程序的测试工具 那么其他不是 webview 应用程序的应用
  • 使用 Appium 和 C# 在 Android 模拟器的浏览器中找不到元素

    我想使用 C 和 Appium 在 Android 模拟器上自动化移动网站测试 我想首先自动化一个简单的测试场景 1 启动浏览器2 查找元素3 清除它4 发送密钥 我的第二步有问题 每次 MSTest 尝试执行下面代码中的 FindElem
  • 如何使用 Appium 在真实设备上自动化第 3 方 ios 应用程序

    我正在尝试使第三方自动化ios应用程序 例如 YouTube 在真实的iPhone using Appium 我无法找到一个指南 教程来实现这一目标 但从我收集的信息来看 它似乎涉及以下步骤 提取预安装的应用程序并将其解密 使用诸如Clut
  • ANDROID_HOME 和 ANDROID_SDK_ROOT 环境变量均未导出 - Windows 10

    我是一个初学者 正在学习appium工具 尝试启动 appium 会话并收到错误 An unknown server side error occurred while processing the command Original err
  • “应用程序必须使用开发身份进行签名”是什么意思?

    应用程序必须使用开发身份进行签名 是什么意思 但 ipa 它已经从 xcode 签名了 Appium 是 1 4 8 log INST STDERR Instruments Trace Error Target failed to run
  • 您可以同时使用 Protractor 和 Appium 来测试混合应用程序吗?

    这是我的场景 我有一个基于 Angular JS 构建的网站 我能够使用量角器使网站自动化 然而 在网站上执行的某些操作会反映在 Android 和 IOS 设备中 这就是我想要实现的目标 像平常一样在网站上运行我的测试 但我也想触发命令来
  • 如何升级appium的chromedriver版本?

    尝试在 Chrome 版本 65 上运行 Appium 脚本时出现以下错误 selenium common exceptions WebDriverException 消息 未知错误 调用函数结果缺少 值 会话信息 chrome 65 0
  • 如何使用Appium获取ios中的应用程序信息,例如应用程序版本、设备操作系统版本?

    我正在使用 appium 测试应用程序并将测试输出集成到 testrail 中 我需要在 testrail 中添加设备和应用程序信息 在 Android 中 我可以使用 adb 命令获取应用程序和设备信息 例如设备型号 设备版本和应用程序版

随机推荐

  • 如何用Chat分析本地化运维服务有哪些?

    问CHAT 本地化运维服务有哪些 CHAT回复 本地化运维服务主要包括以下几大部分 1 系统监控和管理 密切关注系统的性能 实时发现并解决可能出现的问题 以确保服务的稳定和可用性 2 数据备份与恢复 定期进行数据备份 并在出现故障或数据丢失
  • RT-Thread 内核基础(五)

    使用static修饰全局变量作用 限制作用域 如果全局变量前面加上 static 关键字 那么该变量的作用域将被限制在声明它的源文件中 即它将成为一个文件作用域的静态变量 其它源文件无法访问这个变量 这对于控制变量的可见性和避免命名冲突是有
  • 海豚²来了丨DolphinDB 集成 DolphinScheduler,任务调度更轻松

    DolphinDB 是一款高性能时序数据库 DolphinDB 集成了功能强大的编程语言和高容量高速度的批流一体数据分析系统 为海量数据 特别是时间序列数据 的快速存储 检索 计算及分析提供一站式解决方案 在实际生产环境中 经常存在 数据导
  • 软件测试基础知识与面试理论总结(答案+文档)

    一 什么是软件 软件是计算机系统中的程序和相关文件或文档的总称 二 什么是软件测试 说法一 使用人工或自动的手段来运行或测量软件系统的过程 以检验软件系统是否满足规定的要求 并找出与预期结果之间的差异 说法二 软件测试就是利用一定的方法对软
  • 【Leetcode】349. 两个数组的交集

    Leetcode 349 两个数组的交集 题目链接 代码 题目链接 Leetcode 349 两个数组的交集 代码 func intersection nums1 int nums2 int int nums1和nums切片的hash ha
  • Mass-Bruter:一款功能强大的网络常用服务爆破枚举工具

    关于Mass Bruter Mass Bruter是一款功能强大的网络常用服务爆破枚举工具 该工具本质上是一个简单的PoC项目 可以帮助广大研究人员快速在大规模网络系统中执行常见服务爆破枚举 该工具专为红队研究人员设计 支持检测FTP SS
  • 解锁数据之门Roxlabs全球住宅IP赋能海外爬虫与学术研究

    11 20云账房测试一面凉经 华为开奖啦 关于邮储的一些情况 维信金科一面 二面 hr面 我的导师太好了 上海维信金科 技术面试一 Java后端开发岗记录贴 维信金科正式批面经 软件技术领域就业大纲 1 公司分类 你裁掉这个应届生用了多长时
  • TS 36.211 V12.0.0-上行(7)-调制和上变频

    本文的内容主要涉及TS 36 211 版本是C00 也就是V12 0 0 本文具体内容为该协议的
  • 【Leetcode】438. 找到字符串中所有字母异位词

    Leetcode 438 找到字符串中所有字母异位词 题目链接 代码 题目链接 Leetcode 438 找到字符串中所有字母异位词 代码 func findAnagrams s string p string int 枚举p串 统计p串字
  • MySQLvarchar(5)可以存储多少个汉字,多少个字母数字?

    1 varchar 5 可以存储多少个汉字 多少个字母数字 相信有好多人应该跟我一样 对这个已经很熟悉了 根据经验我们能很快的做出决定 比如说用varchar 200 去存储url等等 但是 即使你用了很多次也很熟悉了 也有可能对上面的问题
  • 研发实验室设计

    在科技日新月异的今天 研发实验室已经成为创新的重要载体 一个高效 人性化的实验室环境不仅能提升研发效率 更能激发科研人员的创新活力 SICOLAB喜格 将探讨研发实验室设计的核心理念和实践策略 以期为读者提供有益的参考 一 以人为本的设计理
  • TS 36.211 V12.0.0-上行(6)-PRACH

    本文的内容主要涉及TS 36 211 版本是C00 也就是V12 0 0 本文具体内容为该协议的
  • TS 36.211 V12.0.0-上行(4)-参考信号

    本文的内容主要涉及TS 36 211 版本是C00 也就是V12 0 0 本文具体内容为该协议的
  • TS 36.211 V12.0.0-上行(5)-SC-FDMA基带信号生成

    本文的内容主要涉及TS 36 211 版本是C00 也就是V12 0 0 本文具体内容为该协议的
  • 你知道几个电子相册制作方法?让我来给你分享

    你知道什么是电子相册吗 其实电子相册就是我们把照片编辑成视频的另一个说法 这样的视频一般都带有神奇的转场特效 可以自定义的贴纸和背景 很多小伙伴的爸爸妈妈都很喜欢用这样的方式来制作他们的相册 展示他们拍摄的图片 那这样的电子相册在线制作的方
  • 网工我劝你,这11种协议报文格式要烂熟于心!

    你们好 我的网工朋友 你最熟悉的报文是啥 TCP UDP 在网络世界里 就如同道路系统让车辆畅通无阻一样 网络协议是确保信息顺畅传输的关键 作为网络工程师 理解网络协议的种类与结构至关重要 今天就和你一起探索一下11种关键协议报文格式啊 包
  • TS 36.211 V12.0.0-下行(1)-时隙结构和物理RE

    本文的内容主要涉及TS 36 211 版本是C00 也就是V12 0 0
  • 基于2x2mimo系统的ML最大似然均衡matlab仿真

    目录 1 算法仿真效果 2 MATLAB源码 3 算法概述 4 部分参考文献 1 算法仿真效果 matlab2022a仿真结果如下 2 MA
  • 毕设英文摘要怎么降重

    大家好 今天来聊聊毕设英文摘要怎么降重 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 可以借助此类工具 毕设英文摘要降重策略 在毕业设计中 英文摘要的撰写是一个重要的环节 由于英文摘要的表述方式和语法与中文
  • Appium —— 初识移动APP自动化测试框架Appium

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