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

Windows系统搭建Appium 2 和 Appium Inspector 环境

前言

  自 2022 年 1 月 1 日起,Appium 核心团队不再维护 Appium 1.x。官方支持的平台驱动程序的所有最新版本均不兼容 Appium 1.x,需要 Appium 2 才能运行。

Appium 2是一个自动化移动应用程序的开源工具,它带来了以下重要改进:
  1.支持最新的移动操作系统版本;
  2.进行了性能优化,提高了自动化测试执行的效率和稳定性;
  3. 引入了新的命令和API,使得测试脚本编写更加灵活和便捷;
  4. 提供了更新的文档和更加活跃的社区支持。

Appium Inspector是Appium的一个工具,用于分析和检查移动应用程序的UI元素。它可以帮助用户查看应用程序中的各种元素,并生成相应的定位代码,从而简化自动化测试脚本的编写


一、Node.js安装

1、下载并安装 Node.js下载链接
在这里插入图片描述
一直下一步,然后安装
在这里插入图片描述
2、检测是否安装成功,查看版本命令:node -v
在这里插入图片描述


二、JDK安装

1、下载并安装 JDK下载链接
在这里插入图片描述
2、检测是否安装成功,查看版本命令:java -version (如无法查看,可能是环境变量出现问题,请自行手动配置环境变量)
在这里插入图片描述


三、Android SDK安装

1、下载 SDK下载链接
在这里插入图片描述
在这里插入图片描述
下载完成后,解压到C盘路径下,路径不要有空格、中文、特殊字符。

二、运行SDK Manager,安装
在这里插入图片描述
取消其他勾选框,只保留这三个。
在这里插入图片描述
在这里插入图片描述

三、配置环境变量

变量名:ANDROID_HOME
变量值:C:\android-sdk-windows (SDK目录)

在这里插入图片描述

变量名:Path
变量值:%ANDROID_HOME%\tools 
变量值:%ANDROID_HOME%\platform-tools

在这里插入图片描述


四、安装Appium 2

1、在命令提示符(cmd)窗口中,输入命令:npm i --location=global appium(项目地址)
在这里插入图片描述
2、查看是否安装成功,版本查看命令:appium -v
在这里插入图片描述


五、安装驱动程序

参考文档-1
参考文档-2

1、安装UIAutomator2,用于安卓设备的驱动程序。cmd窗口输入:appium driver install uiautomator2
在这里插入图片描述

2、安装XCUITest,用于iOS设备的驱动程序。cmd窗口输入:appium driver install xcuitest
在这里插入图片描述

3、查看是否安装成功,命令:appium driver list
在这里插入图片描述


六、安装appium-inspector

1、下载并安装 appium-inspector下载链接
在这里插入图片描述
在这里插入图片描述


七、Appium Inspector 连接Android手机 (获取元素定位)

1、手机通过数据线连接电脑,并开启USB调试模式

  • 首先连续点击版本号,出现类似“ 您现在处于开发者模式!”提示即可
    在这里插入图片描述

  • 然后打开USB调试功能
    在这里插入图片描述

  • adb命令,检测是否连接:adb devices
    在这里插入图片描述

手机模拟器用下面其中一个命令连接手机即可
adb connect 127.0.0.1:62025
adb connect 127.0.0.1:62001
adb devices  ---查看是否连接 (真机USB连接后会自动连接)

在这里插入图片描述

2、打开cmd窗口,输入 Appium 运行服务
在这里插入图片描述

3、运行 Appium Inspector,按如下添加配置

{"automationName": "UiAutomator2",          # 自动化测试的引擎"platformName": "Android",                 # 平台类型 (Android、ios)"platformVersion": "7.1.2",                # 手机操作系统的版本"appPackage": "com.android.calculator2",   # app的包名"appActivity": ".Calculator",              # app的activity名称"unicodeKeyboard": "true",                 # 使用unicode编码方式键盘发送字符串"restKeyboard": "true"                     # 隐藏键盘
}

app查看方法:

adb logcat -v time | findstr STARTcmp = APP包名/Activity名称(如找到的不正确,者接着往下查找)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

相关文章:

  • SpringBoot JprotoBuf序列化与反序列化的实现
  • unity学习笔记18
  • docker-compose脚本编写及常用命令
  • 【JavaScript】3.2 JavaScript性能优化
  • 【Azure 架构师学习笔记】- Azure Databricks (1) - 环境搭建
  • 011 OpenCV warpAffine
  • 如何在vs2017及以前版本(vs2010、vs2015)上添加 添加类型库中的MFC类
  • MySQL的安装步骤教程以及基本操作--详细讲解
  • 全微分方程@曲线积分的基本定理(公式)
  • 做一件荒谬的事:用AI推理下一次双色球结果 v0.1
  • Echarts大屏可视化_04 横向柱状图模块的引入和开发
  • 修改element的抽屉<el-drawer的宽度
  • 数据库管理-第120期 初探Halo数据库(202301201)
  • react native 环境准备
  • 初步认识结构体
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • C学习-枚举(九)
  • fetch 从初识到应用
  • JavaScript DOM 10 - 滚动
  • JavaScript标准库系列——Math对象和Date对象(二)
  • MYSQL 的 IF 函数
  • nfs客户端进程变D,延伸linux的lock
  • Vue小说阅读器(仿追书神器)
  • 编写高质量JavaScript代码之并发
  • 关于List、List?、ListObject的区别
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 那些年我们用过的显示性能指标
  • 小而合理的前端理论:rscss和rsjs
  • 学习ES6 变量的解构赋值
  • 一些css基础学习笔记
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​马来语翻译中文去哪比较好?
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (70min)字节暑假实习二面(已挂)
  • (Note)C++中的继承方式
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • .gitignore
  • .net core Swagger 过滤部分Api
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Core跨平台微服务学习资源
  • .Net各种迷惑命名解释
  • .NET上SQLite的连接
  • .NET下的多线程编程—1-线程机制概述
  • ::前边啥也没有
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • [Git].gitignore失效的原因