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

appium自动化环境搭建

一、appium介绍

appium介绍

appium是一个开源工具、支持跨平台、用于自动化ios、安卓手机和windows桌面平台上面的原生、移动web和混合应用,支持多种编程语言(python,java,Ruby,Javascript、PHP等)

原生应用和混合应用:

原生应用(即使用iOS或Android原生开发工具包开发的应用)
混合应用(即包含HTML5页面和原生代码的应用)

appium架构与组件&工作原理:

Appium的架构基于C/S模式,由多个组件协同工作以实现移动应用的自动化测试目标。以下是Appium v2.x的架构组件:

  1. Appium客户端:测试人员使用与编程语言偏好相对应的Appium客户端语言绑定来编写测试脚本。这个Appium客户端将通过传递目标平台的配置选项来 与在机器或远程机器上运行的Appium服务器进行交互。
  2. Appium服务器:一个Node.js API服务器,它将消耗这些配置选项,并根据配置选项将用户命令重定向到连接到Appium服务器实例的平台特定驱动程序实例。
  3. Appium驱动程序:Appium驱动程序是Appium客户端与目标设备之间的桥梁。它使用原生平台特定框架(如iOS平台的XCUITest和Android平台的UiAutomator2)来将这些用户命令重定向到这些框架,这些框架实际上会在目标设备上执行这些用户命令。
appium工作原理概括

客户端发送测试请求给Appium Server,Appium Server解析请求并调用相应的原生测试框架API在移动设备上执行测试操作,然后将测试结果返回给客户端。这一过程中,Appium使用了WebDriver协议进行通信,并在Android和iOS设备上分别使用了Bootstrap.jar和bootstrap.js作为中间件来与原生测试框架进行通信。

二、appium安装

其他版本git链接:https://github.com/appium/appium-desktop/releases
Appium-windows-1.13.0链接: 百度网盘
提取码: 0000

  1. 选择压缩的安装包,右键以管理员身份运行(注意安装位置可以自定为C盘以外都行,自定义目录,下一步即可)
    在这里插入图片描述

  2. 选择下一步
    在这里插入图片描述

  3. 选择完成
    在这里插入图片描述
    Appium Server是一个基于JS语言的程序,运行它需要安装nodejs(运行js的环境),Appium为了简化安装,就将Appium Server与nodejs合二唯一,变成了Appium Desktop,所以我们只需要安装Appium Desktop即可

三、启动appium服务端

  1. 双击桌面的appium图标
  2. 点击Start Server,ip是默认本机ip,端口默认4723,点击允许防火墙访问
    在这里插入图片描述
    在这里插入图片描述

四、安装sdk工具

为了使appium能够对apk各种操作(安装、卸载、查看包等),需要安装配置sdk环境,来完成appium自动化测试,我这边之前已经安装好了
sdk百度网盘链接:sdk工具包
链接: 提取码: 0000

配置环境变量如下,系统变量新增
变量名:ANDROID_HOME
变量值(你自己安装的目录):D:\BaiduNetdiskDownload\androidsdk
Path系统变量添加如下
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
在这里插入图片描述
在这里插入图片描述
验证如下配置OK
在这里插入图片描述

设备可以使用真机或者模拟器(夜神、海马、逍遥等)
python安装Appium-python-client库

Appium Python Client:官方的Appium Python客户端
安装命令:pip install Appium-python-client 或者在pycharm内的设置手动安装

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

相关文章:

  • Qt 5.14.2 学习记录 —— 이십 QFile和多线程
  • 積分方程與簡單的泛函分析7.希爾伯特-施密特定理
  • 使用vitepress搭建自己的博客项目
  • 开始步入达梦中级dba
  • 如何在docker中的mysql容器内执行命令与执行SQL文件
  • S4 HANA更改Tax base Amount的字段控制
  • Linux权限有关
  • 【github 使用相关】提交pr和commit message Conventional Commits 规范 代码提交的描述该写什么?
  • Docker—搭建Harbor和阿里云私有仓库
  • Maven的下载安装配置
  • Rust:高性能与安全并行的编程语言
  • matlab的cat()函数详解(OK)
  • 将个人微信中的时间改成标准的日期时间格式
  • centos9编译安装opensips 二【进阶篇-定制目录+模块】推荐
  • 初步搭建并使用Scrapy框架
  • 基于SpringBoot的软件产品展示销售系统
  • pycharm 运行远程环境问题 Error:Failed to prepare environment.
  • Redis vs. 其他数据库:深度解析,如何选择最适合的数据库?
  • HTB:Support[WriteUP]
  • 导出地图为pdf文件
  • Linux中关于glibc包编译升级导致服务器死机或者linux命令无法使用的情况
  • Golang Gin系列-8:单元测试与调试技术
  • linux如何修改密码,要在CentOS 7系统中修改密码
  • Kafka后台启动命令
  • 使用Cline+deepseek实现VsCode自动化编程
  • 【redis初阶】redis客户端
  • 【ComfyUI专栏】ComfyUI 部署Kolors
  • 深入了解 HTTP 头部中的 Accept-Encoding:gzip、deflate、br、zstd
  • 【含代码】逆向获取 webpack chunk 下的__webpack_require__ 函数,获悉所有的模块以及模块下的函数
  • 2025牛客寒假算法基础集训营2