【App自动化测试】(一)Appium和移动端自动化

news2024/11/17 20:17:54

目录

  • 1. 目前mobile自动化解决方案
    • 1.1 iOS和Android 测试工具
    • 1.2 自动化工具的选择
    • 1.3 选择自动化工具的考虑因素
  • 2. Appium介绍
    • 2.1 Appium介绍
    • 2.2 多架构支持
    • 2.3 推荐Appium的理由
    • 2.4. Appium框架介绍
      • 2.4.1 Appium引擎列表
      • 2.4.2 Appium设计理念


前言
本文为在霍格沃兹测试开发学社中学习到的一些技术写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 😘

1. 目前mobile自动化解决方案

1.1 iOS和Android 测试工具

在这里插入图片描述

1.2 自动化工具的选择

工具名称被测系统测试脚本语言支持H5跨应用稳定性SDK自带M
Monkey RunnerAndroid功能Python支持稳定
InstrumentationAndroid(<4.1)功能Java支持可以稳定
Uiautomator2Android(>=4.1)功能Java支持可以稳定
Adb-For-TestAndroid(>=4.1)功能Java/Python支持可以稳定
MonkeyAndroid稳定Java稳定
CTSAndroid兼容Java支持可以稳定
UiautomatoriOS功能JS支持可以稳定Xcode自带
CalabashAndroid,iOS功能Ruby支持可以一般
AppiumAndroid,iOS功能Java/Python/JS/C/C#/Perl支持可以一般

1.3 选择自动化工具的考虑因素

  1. 单平台测试or多平台测试?
  2. 是否有多设备同时测试的场景?
  3. 不局限于测试环境,任何版本任何环境都可以测试?
  4. 最擅长那种开发语言?
  5. 当前市面是否有满足项目需求的测试工具?是否需要二次开发?

2. Appium介绍

2.1 Appium介绍

Appium是一个移动端的自动化测试框架,可用于测试原生应用移动网页应用混合应用,且是跨平台的。可用于iOS和Android操作系统。

  • 原生应用是指用android或iOS编写的应用。
  • 移动网页应用是指网页应用,类似于ios中safari应用或 者Chrome应用或者类似浏览器的应用。
  • 混合应用是指一种包裹webview的应用,原生应用网页内容交互性的应用。

重要的是Appium是跨平台的。何为跨平台,意思是可以针对不同平台用一套api来编写脚本。

2.2 多架构支持

在这里插入图片描述

  • 原生应用:应用系统自带组件开发出来的,或是SDK组件开发出来的
  • 移动网页应用:可通过浏览器打开的应用,存在与一个网页上,非app形式存在
  • 混合应用:原生应用嵌套了网页,如微信小程序

2.3 推荐Appium的理由

  • 跨语言:Java、Python、nodejs 等大部分主流语言
  • 跨平台:Andoid、iOS、Windows、Mac
  • 底层多引擎可切换
  • 生态丰富,社区强大

2.4. Appium框架介绍

2.4.1 Appium引擎列表

在这里插入图片描述

2.4.2 Appium设计理念

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rR4g07Z3-1669181416121)(assets/c28c500738f80fbc2a0a3e7142cd7ce4-20220915093445-fp4wf6k.png)]

  • webdriver是基于http协议的,第一次连接会建立一个session会话,并通过post发送一个json告知服务端相关测试信息
  • Client/Server设计模式:
    • 客户端通过WebDriver json wire协议与服务端通讯
    • 对语言支持
  • Server可以放在任何地方
  • 服务端NodeJS开发的Http服务
  • Appium使用Appium-xcuitest-driver来测试iPhone设备,其中需要安装facebook出的WDA(webdriveragent)来驱动iOS测试

文末说明:
接口测试中我们很容易混淆Session、cookie和token,你知道他们有什么区别吗?

快来跟我一起看,一篇文章让你了解三者的区别。😎
⬇⬇⬇⬇⬇⬇⬇
👍👍👍:接口测试经典面试题:Session、cookie、token有什么区别?

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多智能体强化学习MARL的概念和框架

1.多智能体强化学习 系统里的agents数量大于1&#xff0c;agents彼此之间不是独立的 每个agent的动作都能影响到下一个状态每个agent都能影响到其他agent 除非agent之间是独立的&#xff0c;否则单一agent的RL方法不适合MARL 2.MARL的类型 Fully cooperative&#xff08;完…

智慧医院智慧医疗解决方案

IBM于2009年提出“智慧医疗”这一理念。作为“智慧的地球”战略的重要组成部分&#xff0c;致力于构建一个“以病人为中心”的医疗服务体系。通过在服务成本、服务质量和服务可及性三方面取得一个良好的平衡&#xff0c;从而优化医疗实践成果、创新医疗服务模式和业务市场&…

Unity插件Obi.Rope详解

前言 Obi.Rope插件的使用方法 绳子的创建 创建后的Obi Rope&#xff0c;Inspector面板如下所示&#xff0c;组件比较多&#xff0c;其中Obi Solver是绳子&#xff0c;布料&#xff0c;液体等的总处理器&#xff0c;也可以单独分出来此组件为一个独立的游戏对象。 绳子的形状…

风控标签体系的使用与介绍

随着大数据技术的深入研究与应用&#xff0c;企业的专注点日益聚焦于怎样利用大数据来为精细化运营及精准营销服务&#xff0c;进而深入挖掘潜在的商业价值。于是&#xff0c;用户画像的概念也就应运而生。 在推荐系统中&#xff0c; 【推荐系统内容&#xff0c;详情可以关注番…

弘玑Cyclone2022产品发布会:全新上线智能文档处理交互平台——尚书台

近日&#xff0c;在弘玑Cyclone“智无边界&#xff0c;数字未来”发布会上&#xff0c;弘玑Cyclone2022年超级自动化系列产品全新亮相&#xff0c;首席产品官贾岿博士带领产品团队以创新技术对新时代语境下的数字生产力进行了全新解读。 上期为大家介绍了人人可用的数字化工作…

Java工具库Guava的数学运算常用方法示例代码

场景 Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验&#xff1a; Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验_霸道流氓气质的博客-CSDN博客_guava 校验 为什么使用 Guava Math 1、Guava Math 针对各种不常见…

web网页设计期末课程大作业:美食餐饮文化主题网站设计——中华美德6页面HTML+CSS+JavaScript

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

MCE | 表观遗传:YTHDF蛋白调节 m6A-RNA

近期&#xff0c;美国康奈尔大学 Samie R. Jaffrey 研究组在 Cell 上发表了题为 “A Unified Model for the Function of YTHDF Proteins in Regulating m6A-Modified mRNA” 的研究&#xff0c;揭示了 YTHDF 蛋白调节 m6A 修饰的 mRNA 的功能统一模型。与“不同的 m6A 位点结合…

反向传播——机器学习

目录 一、实验内容 二、实验过程 1、算法思想 2、算法原理 3、算法分析 三、源程序代码 四、运行结果及分析 五、实验总结 一、实验内容 掌握线性反向传播的原理&#xff1b;掌握线性反向传播的算法Python实现&#xff1b;熟悉非线性反向传播的原理&#xff1b;掌握非线性…

图的存储方式

一、邻接矩阵 图的邻接矩阵存储方式就是用两个数组来表示图。一个一维数组存储图的顶点信息&#xff0c;另一个二维数组存储图中边的信息。 对于无向图来说&#xff0c;我们可以用1表示两顶点相连&#xff0c;用0表示两顶点不相连。任意顶点的度为邻接矩阵中该节点的行或列的…

pytorch案例代码-2

循环神经网络——基础知识 适合前后有联系的连续数据预测&#xff0c;比如天气预测、股市预测、自然语言等&#xff0c;而这些用DNN、CNN来做计算量就太大或者没法做&#xff0c;h0是先验&#xff0c;也可以前面接上CNNFC后面连上RNN&#xff0c;就可以完成图像到文本的转换&am…

AE VAE 代码和结果记录

Auto Encoder 在MNIST 上记录 直接上代码 import os os.chdir(os.path.dirname(__file__)) import torch import torch.nn as nn import torch.nn.functional as F import torchvision from torchvision import transforms from torchvision.utils import save_image from to…

数据结构-学习-01-线性表之顺序表-初始化、销毁、清理、获取长度、判断为空、获取元素等实现

一、测试环境 名称值cpu12th Gen Intel Core™ i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2gcc 版本4.8.5 20150623 二、个人理解 数据结构分为逻辑结构和物理结构&#xff08;也称为存储结构&#xff09;。 1、逻辑结构 逻辑结构又可以分为以下…

JS 事件

事件 事件是 JS 和 HTML 交互的桥梁。采用“观察者模式”&#xff0c;使用仅在事件发生时执行的监听器&#xff08;也叫处理程序&#xff09;订阅事件 事件流 事件流描述的是页面接收事件的顺序。分为 3 各阶段&#xff1a; 事件捕获&#xff1a;最先触发&#xff0c;可以做…

致敬经典 睛彩再现——AVS产业联盟和中国移动咪咕公司携手推动AVS3视频、音频标准

2022年11月14日&#xff0c;中国移动咪咕公司首发AVS3移动端规模化商用版本咪咕视频6.0.7.00&#xff0c;该版本下设的“致敬经典 睛彩再现”专区、以及“菁彩视听”双Vivid直播视角&#xff08;Audio Vivid & HDR Vivid&#xff09;&#xff0c;通过国家自主的AVS3、Audio…

回顾复习【矩阵分析】初等因子 和 矩阵的相似 || 由不变因子求初等因子 || 由初等因子和秩求Smith标准形(不变因子)

目录 1. 由不变因子,引出 初等因子的概念2. 【必看】例子:已知 不变因子,求初等因子。3.【必看】 例子:已知 秩和初等因子,求史密斯标准形(不变因子)4. 分块矩阵 初等因子的 求法5. 数字矩阵的相似 与 入-矩阵的等价1. 由不变因子,引出 初等因子的概念 例如,下面两个矩阵…

Kotlin 开发Android app(十):Android控件绑定ViewBinding

上一节中&#xff0c;我们知道了Android的布局&#xff0c;这种把界面和逻辑控制分开&#xff0c;是编程里很好的分离方式&#xff0c;也大大的解耦了界面和逻辑控制&#xff0c;使得编程的逻辑不在和界面挂钩。 有了界面的布局&#xff0c;我们需要把界面和代码部分进行绑定&…

OpenPose训练教程

找遍全网都没有非常完整的OpenPose训练教程 决定自己摸索并且记录下来 openpose作者发布了一份训练代码&#xff0c;下面根据这个来操作 GitHUB地址&#xff1a; openpsoe_train 环境&#xff1a;ubuntu 执行matklab脚本的时候懒得下载新的matlab 就在windows下运行的 感觉没…

品质为先,服务不停,广州流辰信息公司恪守初心,匠心为民!

随着互联网技术的蓬勃发展&#xff0c;越来越多的企业也感受到了日益激烈的竞争&#xff0c;也意识到墨守成规的发展模式必当会让企业停滞不前&#xff0c;只有一步一个脚印&#xff0c;始终跟随市场的脚步创新升级&#xff0c;才有可能在汹涌的市场洪流中站稳脚跟。广州流辰信…

精简 Windows10

下载链接文后评论里找&#xff1a; 旧机福音 极限精简Win10系统Tiny10https://baijiahao.baidu.com/s?id1743901721464184983不想成天折腾操作系统&#xff0c;一直以来都认为跟着微软每月升级就好了。但是现实啪啪的打脸&#xff1a;升级到Windows11 22H2 后&#xff0c; 连…