【自动化测试】Appium 生态工具以及Appium Desktop如何安装和使用

news2024/11/23 15:31:24

引言

Appium 是一个开源的自动化测试框架,用于测试原生、移动 Web 和混合应用程序。它支持 iOS、Android 和 Windows 平台。Appium 生态系统包含多个工具和库,这些工具和库可以与 Appium 一起使用,以提高移动应用的自动化测试效率

文章目录

  • 引言
  • 一、Appium 生态工具
    • 1.1 定义
    • 1.2 Appium 客户端库
    • 1.3 Appium 服务器
    • 1.4 Appium Doctor
    • 1.5 Appium Inspector
    • 1.6 Appium Desktop
    • 1.7 Appium Logger
    • 1.8 Appium Pro
    • 1.9 WebDriverAgent
    • 1.10 UI Automator
    • 1.11 Selendroid
    • 1.12 Appium Clients
    • 1.13 其他相关工具
    • 1.14 总结
  • 二、Appium Desktop如何安装和使用
    • 2.1 安装 Appium Desktop
      • 2.1.1 Windows、macOS 或 Linux
      • 2.1.2 注意事项
    • 2.2 使用 Appium Desktop
    • 2.3 总结

在这里插入图片描述

一、Appium 生态工具

1.1 定义

Appium 是一个开源的自动化测试框架,用于测试原生、移动 Web 和混合应用程序。它支持 iOS、Android 和 Windows 平台。Appium 生态系统包含多个工具和库,这些工具和库可以与 Appium 一起使用,以提高移动应用的自动化测试效率。以下是一些与 Appium 相关的工具和库

1.2 Appium 客户端库

  • Appium Client Libraries: Appium 支持多种编程语言,每种语言都有自己的客户端库,如 Java, Ruby, Python, PHP, C#, JavaScript (Node.js) 等。这些库允许测试人员使用熟悉的编程语言编写测试脚本

1.3 Appium 服务器

  • Appium Server: Appium 服务器是自动化测试的核心,它接收来自客户端的自动化命令,并将其转换为移动设备上的操作

1.4 Appium Doctor

  • Appium Doctor: 这是一个诊断工具,用于检查 Appium 环境配置是否正确,包括环境变量、依赖项和其他配置

1.5 Appium Inspector

  • Appium Inspector: 这是一个 GUI 工具,用于检查和交互正在运行的应用程序。它可以帮助测试人员识别元素并生成元素定位器

1.6 Appium Desktop

  • Appium Desktop: 这是一个包含 Appium 服务器、Appium Inspector 和其他工具的图形界面应用程序,使得 Appium 的使用更加便捷

1.7 Appium Logger

  • Appium Logger: 这是一个日志记录工具,用于记录测试过程中的详细信息

1.8 Appium Pro

  • Appium Pro: 这是一个提供 Appium 最佳实践、教程和代码示例的网站

1.9 WebDriverAgent

  • WebDriverAgent (WDA): 对于 iOS 测试,WebDriverAgent 是一个由 Facebook 开发的开源项目,它实现了 WebDriver 协议,允许 Appium 与 iOS 设备进行通信

1.10 UI Automator

  • UI Automator: 对于 Android 测试,UI Automator 是一个框架,用于执行针对用户界面元素的界面测试

1.11 Selendroid

  • Selendroid: 虽然不如以前常用,但 Selendroid 是一个用于 Android 应用的自动化测试框架,可以作为 Appium 的替代品

1.12 Appium Clients

  • Appium Clients: 除了官方支持的客户端库之外,还有许多第三方客户端库和工具,如 Appium-Python-Client、Appium-Java-Client 等

1.13 其他相关工具

  • Appium Cross Platform Tools: 如跨平台的测试框架 TestNG、JUnit 用于 Java,pytest 用于 Python,RSpec 用于 Ruby 等
  • Continuous Integration (CI) Tools: 如 Jenkins, Travis CI, CircleCI 等,它们可以与 Appium 集成,实现持续集成和持续部署
  • Reporting Tools: 如 Allure, ExtentReports, TestNG Reports 等,用于生成测试报告

1.14 总结

这些工具和库共同构成了 Appium 的生态系统,使得自动化测试更加灵活和强大。使用这些工具,测试人员可以创建可靠、可维护的自动化测试套件

二、Appium Desktop如何安装和使用

Appium Desktop 是一个图形界面应用程序,它集成了 Appium 服务器、Appium Inspector 以及其他用于移动应用自动化测试的工具

2.1 安装 Appium Desktop

2.1.1 Windows、macOS 或 Linux

  1. 下载安装包:
    • 访问 Appium Desktop 下载页面
    • 根据您的操作系统下载对应的安装包(例如 .dmg 文件用于 macOS,.exe 文件用于 Windows,.AppImage.deb 文件用于 Linux)
  2. 安装:
    • 对于 macOS 和 Windows,双击下载的安装包并按照提示完成安装
    • 对于 Linux,使用软件包管理器或直接运行下载的文件来安装

2.1.2 注意事项

  • 确保您的系统满足 Appium Desktop 的系统要求。
  • 如果您使用的是 Windows,可能需要安装 Windows Build Tools 来支持某些依赖

2.2 使用 Appium Desktop

  1. 启动 Appium Desktop:
    • 在安装完成后,打开 Appium Desktop 应用程序
    • 应用程序启动后,您会看到 Appium 服务器的设置界面
  2. 配置 Appium 服务器:
    • 在设置界面,您可以配置各种服务器参数,如 Port(默认为 4723),Bootstrap PortUDID(对于真机测试),App Path
    • 如果您需要进行高级配置,可以点击 “Advanced” 按钮进行设置
  3. 启动 Appium 服务器:
    • 完成配置后,点击界面上的 “Start Server v.x.x.x” 按钮来启动 Appium 服务器
  4. 使用 Appium Inspector:
    • 在服务器启动后,点击 “Start Inspector Session”
    • 配置您的测试会话(例如,选择自动化名称、平台名称、平台版本、设备名称、App 路径等)
    • 点击 “Start Session” 来启动会话
    • Appium Inspector 会启动并显示应用的界面,可以在界面上选择元素来获取它们的定位器
  5. 编写和运行测试脚本:
    • 使用您选择的编程语言和 Appium 客户端库编写测试脚本
    • 在您的测试脚本中配置 Appium 服务器地址(通常是 http://localhost:4723/wd/hub
    • 运行测试脚本,它会与 Appium 服务器通信,并控制您的移动设备进行自动化测试
  6. 查看测试结果:
    • 测试执行完毕后,您可以在测试脚本中集成报告工具来查看测试结果,或者直接在 Appium Desktop 的日志窗口查看运行过程中的日志

2.3 总结

使用 Appium Desktop 可以简化 Appium 服务器的配置和测试会话的启动过程,同时提供直观的界面来帮助您进行自动化测试。记得始终确保测试设备和 Appium 服务器之间的连接是稳定的,以便顺利进行自动化测试

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

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

相关文章

Java面试指南(基础篇)

文章目录 前言01 Java语言的特点02 JVM、JRE及JDK的关系03 Java和C的区别04 基本数据类型05 类型转换06 自动装箱与拆箱07 String的不可变性08 字符常量和字符串常量的区别09 字符串常量池10 String 类的常用方法11 String和StringBuffer、StringBuilder的区别12 switch 是否能…

舒服了!学大模型必看的学习书籍来了

最近整理了日前市面上一大波大模型的书,已经打包成pdf了,大家有需要的,可以自行添加获取,纯福利,无套路,添加后说明是哪本书,会直接给大家!(文末获取) 部分书…

IO 多路转接之 epoll

文章目录 IO 多路转接之 epoll1、IO 多路转接之 poll1.1、poll 函数1.2、poll 函数返回值1.3、Socket 就绪条件1.3.1、读就绪1.3.2、写就绪1.3.3、异常就绪 1.4、poll 的优点1.5、poll 的缺点1.6、poll 改写 select 2、IO 多路转接之 epoll2.1、epoll 函数2.2、epoll_create2.3…

Leetcode 反转链表

使用递归 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ class S…

超低排放燃气锅炉

在全球环保浪潮的推动下,超低排放燃气锅炉以其卓越的环保性能和高效能源利用,正逐渐成为现代热能供应的主力军。作为传统锅炉的升级版,超低排放燃气锅炉不仅在技术上实现了质的飞跃,更在环保和节能方面树立了新的标杆。朗观视觉小…

linux入门到实操-10 控制台显示和输出重定向、监控文件变化、软连接

教程来源:B站视频BV1WY4y1H7d3 3天搞定Linux,1天搞定Shell,清华学神带你通关_哔哩哔哩_bilibili 整理汇总的课程内容笔记和课程资料(包含课程同版本linux系统文件等内容),供大家学习交流下载:…

【Delphi】扩展现有组件创建新的 FireMonkey 组件(步骤一)

本例中演示将TLabel控件扩展成TClockLabel新控件。具体如下: 步骤 1 - 使用新建组件向导创建组件 1. 菜单选择 Component -> New Component。 2. 在新建组件向导的第一页,选择 FireMonkey for Delphi : 3. 在 “Ancestor Component ”页…

【最新华为OD机试E卷-支持在线评测】爱吃蟠桃的孙悟空(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

解决windows上VMware的ubuntu虚拟机不能拷贝和共享

困扰多时的VMware虚拟机不能复制拷贝和不能看到共享文件夹的问题,终于解决了~ 首先确定你已经开启了复制拷贝和共享文件夹,并且发现不好用。。。 按照下面方式解决这个问题。 1,删除当前的vmware tools。 sudo apt-get remove --purge ope…

【Redis技术进阶之路】「原理分析系列开篇」揭秘分析客户端和服务端网络通信交互实现(客户端篇)

揭秘高效存储模型与数据结构底层实现 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 客户端和服务器Redis服务器IO多路复用RedisClient结构 客户端属性分析套接字描述符客户端的分类伪客户端…

【二十五】【QT开发应用】无边窗窗口鼠标拖动窗口移动,重写mousePressEvent,mouseMoveEvent函数

在 Qt 中,可以通过在自定义的类中重载 mousePressEvent 和 mouseMoveEvent 函数来捕获鼠标按下和移动事件,以便实现例如拖动窗口等功能。 mousePressEvent 和 mouseMoveEvent分别是鼠标按下事件和鼠标移动事件。这两个函数是QT中本身就存在的函数&#…

prithvi WxC气象模型

NASA发布了prithvi WxC气象模型发布 Prithvi是NASA开源的模型,被誉为全球最大的开源地理空间大模型。昨天晚上逛X平台,我看到Prithvi模型又来了新成员:prithvi WxC。 NASA和IBM创建了一个基于MERRA-2数据的天气和气候AI基础模型—Prithvi Wx…

C++ :借助栈完成二叉树的非递归遍历

二叉树的传统访问分为:前序、中序、后序、层序。 其中前三者是递归访问,但是递归是有缺陷的,树太深就会栈溢出。 因此本文我们思考如何使用非递归的方法来完成遍历。 1. 前序遍历 要迭代⾮递归实现⼆叉树前序遍历,⾸先还是要借…

【计算机组成原理】实验一:运算器输入锁存器数据写实验

目录 实验要求 实验目的 主要集成电路芯片及其逻辑功能 实验原理 实验内容及步骤 实验内容 思考题 实验要求 利用CP226实验箱上的K16~K23二进制拨动开关作为DBUS数据输入端,其它开关作为控制信号的输入端,将通过K16~K23设定…

无人经济已经 next level 了吗?

01 从无人售货机开始… 晚上 11 点下班回到小区,顺便去驿站取个快递,走进驿站发现四周空无一人,把快递放在机器上滴一声就可以走人了。走的时候在旁边的无人超市里拿一袋方便面,当做加班的安慰……发现了吗,无人门店…

ret2dl_resolve

前言: ret2dl_resolve 是一种利用漏洞进行攻击的技术,主要针对使用动态链接库的程序。它的核心原理是利用程序的重定位机制,通过构造特定的函数返回地址,来劫持控制流并执行攻击者选择的代码。以下是对 ret2dl_resolve 原理的详细…

谷歌地图 | Navigation SDK 重磅发布!为你的 App 注入导航新体验

9月17日,Google 地图正式发布 Navigation SDK for Android 和 iOS!借助 Navigation SDK,开发者们现在可以更轻松地为用户打造定制化的导航体验,提升用户满意度,增强用户粘性。无论是界面风格、路线规划还是实时交通信息…

城市酷选:如何四年做到3000亿销售额 会员超500w

城市酷选,这一融合了线上线下消费的会员制社交电商平台,正以其独特的运营模式在市场中崭露头角。该平台不仅汇聚了超过600万的会员与60万商家,更实现了年交易额的百亿突破,彰显了其强大的市场影响力和消费者吸引力。 创新排队免单…

C#基础(14)冒泡排序

前言 其实到上一节结构体我们就已经将c#的基础知识点大概讲完,接下来我们会讲解一些关于算法相关的东西。 我们一样来问一下gpt吧: Q:解释算法 A: 算法是一组有序的逻辑步骤,用于解决特定问题或执行特定任务。它可以是一个计算过程、一个…

FileLink跨网文件传输 | 跨越网络边界的利器,文件传输不再受限

在当今数字化时代,企业与个人对文件传输的需求不断增长,尤其是在跨网环境中。传统的文件传输方式常常受到网络带宽、传输速度和安全性的限制,给用户带来了诸多不便。FileLink 的出现,为这一难题提供了完美解决方案,让文…