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

APP自动化测试-备忘录:Appium 2.X的安装和启动服务方法

一、Appium 1.X

启动appium服务:appium --session-override
也可以这样启动appium服务:appium

二、Appium 2.X

Appium 2.X 是一个自动化测试开源工具,用于测试原生、移动 Web 和混合应用程序。下面为你介绍其下载步骤:

1. 安装 Node.js 和 npm

Appium 2.0 是基于 Node.js 构建的,所以要先安装 Node.js 和 npm(Node 包管理器)。

  • 访问 Node.js 官方网站 。
  • 下载适合你操作系统的 Node.js 安装包。
  • 运行安装程序,按照提示完成安装。安装完成后,在命令行输入以下命令来验证是否安装成功:
node -v
npm -v

2. 全局安装 Appium 2.0

在命令行中输入以下命令,以全局方式安装 Appium 2.0:

npm install -g appium@next

这里的 @next 表明你要安装的是最新的 Appium 2.0 版本。

当执行 npm install -g appium@next 后长时间显示 [#########.........] / idealTree:npm: timing idealTree:#root Completed in 70385ms ,说明 npm 在解析依赖树环节遇到了问题,下面为你分析可能的原因及对应的解决办法:

【注】 执行上述命令,没有很快的安装,可能是网络问题。切换镜像后安装会安装的很快
  • 原因:npm 需要从远程仓库下载 Appium 及其依赖包,网络状况不佳、带宽不足或者网络不稳定,都可能导致下载缓慢甚至停滞。
  • 解决办法
    • 切换网络环境,例如从 Wi-Fi 切换到移动数据,或者反之。
    • 采用国内的 npm 镜像源来加速下载,如淘宝镜像。使用以下命令设置镜像:
npm config set registry https://registry.npmmirror.com

安装完成后,若要恢复官方镜像,可使用如下命令:

npm config set registry https://registry.npmjs.org

3. 安装 Appium 驱动

Appium 2.0 采用了插件式架构,你需要按需安装相应的驱动。以最常用的 UiAutomator2 驱动(用于 Android 应用测试)为例,在命令行输入以下命令进行安装:

appium driver install uiautomator2

如果你要测试 iOS 应用,可安装 XCUITest 驱动:

appium driver install xcuitest

4. 验证安装

安装完成后,你可以在命令行输入以下命令来启动 Appium 服务器:

appium

若服务器成功启动,输出的日志中会显示服务器正在监听特定的端口(通常是 4723),这表明 Appium 2.0 已成功安装。

5. 可选:安装 Appium Inspector

Appium Inspector 是一个可视化工具,能帮助你查看应用的 UI 元素,便于编写自动化测试脚本。你可以从 Appium Inspector 发布页面 下载适合你操作系统的安装包,然后按提示完成安装。

三、使用 appiumappium --session-override 启动 Appium 服务存在一定区别,下面为你详细介绍:

使用 appium 启动服务

当你仅使用 appium 命令启动 Appium 服务时,这是最基本的启动方式,服务会以默认配置启动。默认情况下,Appium 不允许在已有会话存在时创建新的会话,若尝试在已有会话未结束时创建新会话,Appium 会返回错误。

例如,你在命令行输入:

appium

之后若有一个测试会话正在运行,此时又发起一个新的会话请求,Appium 会拒绝该请求并给出相应错误信息。

使用 appium --session-override 启动服务

--session-override 是一个命令行参数,当使用 appium --session-override 启动服务时,Appium 会允许在已有会话存在的情况下创建新的会话。若有新的会话请求到来,Appium 会自动结束当前正在运行的会话,然后创建新的会话。

例如,在命令行输入:

appium --session-override

之后若有一个测试会话正在运行,此时又发起一个新的会话请求,Appium 会结束当前会话,接着为新请求创建一个新的会话。

应用场景

  • 使用 appium:适用于需要严格控制会话数量和生命周期的场景,避免不同测试用例之间的会话相互干扰,确保每个测试会话的独立性和完整性。
  • 使用 appium --session-override:在开发和调试阶段较为有用,能够快速切换不同的测试场景,无需手动停止当前会话再启动新会话,提高开发和调试的效率。但要注意,这种方式可能会导致测试数据丢失,因为当前会话会被直接终止。

相关文章:

  • 【C语言】动态内存分配函数calloc
  • 设计模式-策略模式
  • 网络运维学习笔记(DeepSeek优化版) 017 HCIA-Datacom综合实验02
  • 【前沿 热点 顶会】CVPR 2025 录用的基于扩散模型的图像生成方向的论文
  • SMT贴片机编程高效学习路径解析
  • 18.使用读写包操作Excel文件:xlrd、xlwt 和 xlutils 包
  • 数据结构系列五:栈和队列
  • MapReduce处理数据流程
  • Stable Deffusion--常见模型插件详解
  • DEADiff
  • ONNX:统一深度学习工作流的关键枢纽
  • Python —— items()方法
  • DeepSeek在文献检索中两个相关提示词
  • fastapi+angular酒店预订系统
  • pycharm环境创建
  • 强化学习 - PPO控制无人机
  • 【C语言】函数和数组实践与应用:开发简单的扫雷游戏
  • 二进制矩阵全零转换问题 | DFS
  • 建筑兔零基础Arduino自学记录47|安装和实战小灯闪烁-1
  • 91.HarmonyOS NEXT 应用国际化与本地化指南:打造全球化应用
  • 交通运输部:预计今年五一假期全社会跨区域人员流动量将再创新高
  • 人社部:一季度全国城镇新增就业308万人,同比增加5万人
  • 发挥全国劳模示范引领作用,加速汽车产业电智化转型
  • 老凤祥一季度净利减少两成,去年珠宝首饰营收下滑19%
  • 北美票房|《罪人》遭媒体唱衰,好莱坞业内人士集体反击
  • 稳就业稳经济五方面若干举措将成熟一项出台一项