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

appium学习

appium学习

文章目录

  • appium学习
    • 1. 环境搭建
      • 1. command line tools
      • 2. appium安装配置
      • 3. 小测试
    • 参考

1. 环境搭建

各软件版本参考如下:

node js v24.6.0

jdk 17.0.12

command line tools win-13114758

platforms;android-31 (对应android 12)

build-tools;31.0.0

appium v3.1.0

python 3.13

mumu模拟器 v5.7.0

node js,jdk,python等自行配置记得配环境变量

1. command line tools

https://developer.android.com/studio

下载command line tools

在这里插入图片描述

新建C:\Users\21609\Downloads\AndroidSDK文件夹,将cmdline-tools文件夹复制到到文件夹下。

新建C:\Users\21609\Downloads\AndroidSDK\cmdline-tools\latest文件夹。

将bin文件夹和lib文件夹移动到C:\Users\21609\Downloads\AndroidSDK\cmdline-tools\latest文件夹中。

查看android版本对应API版本

https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=zh-cn#ApiLevels

android 12对应API 31

#安装platform-tools
C:\Users\21609\Downloads\AndroidSDK\cmdline-tools\latest\bin>sdkmanager "platform-tools"#安装android平台
C:\Users\21609\Downloads\AndroidSDK\cmdline-tools\latest\bin>sdkmanager "platforms;android-31"#安装build-tools
C:\Users\21609\Downloads\AndroidSDK\cmdline-tools\latest\bin>sdkmanager "build-tools;31.0.0"#安装其他工具
sdkmanager "tools"
sdkmanager "emulator"
#sdkmanager "patcher;v4"# Android 12 镜像(Google APIs)gou
sdkmanager "system-images;android-31;google_apis;x86_64"# Android 12 镜像(默认版本)
sdkmanager "system-images;android-31;default;x86_64"

设置ANDROID_HOME环境变量

值为 C:\Users\21609\Downloads\AndroidSDK

path新增

%ANDROID_HOME%\tools
%ANDROID_HOME%\build-tools\31.0.0
%ANDROID_HOME%\platform-tools

2. appium安装配置

appium安装

npm i -g appium

appium驱动安装

# 安装 Android 驱动 (UiAutomator2)
appium driver install uiautomator2# 安装 iOS 驱动 (XCUITest)
appium driver install xcuitest# 查看已安装的驱动
appium driver list# 更新所有已安装的驱动
appium driver update --installed

在这里插入图片描述

常用插件安装

# 安装元素查找插件
appium plugin install images
appium plugin install execute-driver# 查看已安装的插件
appium plugin list# 基本启动
# appium
# 或指定端口启动
# appium -p 4723
# 带日志输出启动
# appium --log-level debug

将"C:\Users\21609\Downloads\AndroidSDK\platform-tools\adb.exe"替换掉mumu模拟器的adb.exe

C:\Program Files\NetEase\MuMu\nx_device\12.0\shell\adb.exe

C:\Program Files\NetEase\MuMu\nx_main\adb.exe

启动mumu模拟器,多次点击设置中的版本号进入开发者模式。

在这里插入图片描述

在系统->开发者选项中开启USB调试

在这里插入图片描述

设备设置开启root权限和adb调试本地和远程连接。

在这里插入图片描述

adb connect 127.0.0.1:5555
adb connect 127.0.0.1:16384
adb devices#获取手机版本号
adb -s 127.0.0.1:16384 shell getprop ro.build.version.release 
12# 使用 adb 命令直接获取当前app和界面
adb -s emulator-5554 shell "dumpsys window displays | grep -E 'mCurrentFocus|FocusedApp'"
#  mCurrentFocus=Window{cd12584 u0 com.mumu.store/com.mumu.store.MainActivity}
#  mFocusedApp=ActivityRecord{a02b66 u0 com.mumu.store/.MainActivity t27}

在这里插入图片描述

python 13

pip install Appium-Python-Client==5.2.4

3. 小测试

电脑appium客户端会创建一个服务器(ADB服务器)

手机连接上电脑之后,会自动检测服务进行连接

需要操作手机,是先appium接受脚本代码,然后转化为adb命令,最后通过命令执行手机对应的操作

启动appium服务器

appium

在这里插入图片描述

import timefrom appium import webdriver
from appium.options.android import UiAutomator2Options#配置连接手机和参数信息
desired_caps = {'platformName': 'Android','platformVersion': '12', #手机版本号'deviceName': '127.0.0.1:16384', #设备名'appPackage': 'com.mumu.store', #应用包名'appActivity': 'com.mumu.store.MainActivity', #主活动名'automationName': 'UiAutomator2', #必须指定自动化引擎'noReset': True  # 不重置应用状态
}# 正确创建 options 对象
options = UiAutomator2Options().load_capabilities(desired_caps)driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
time.sleep(3)
driver.quit()

在这里插入图片描述

施工中…

参考

【B站最新最详细Appium自动化测试教程,零基础也能轻松掌握App自动化,环境搭建+框架封装一小时速通!】 https://www.bilibili.com/video/BV1445Xz1Ejg/?p=4&share_source=copy_web&vd_source=aeb4f89b7c74bd892c2a834774309409

http://www.dtcms.com/a/494472.html

相关文章:

  • [Linux]学习笔记系列 -- [kernel][irq]softirq
  • 家庭相册私有化:Immich+cpolar构建你的数字记忆堡垒
  • 存储同步管理器SyncManager 归纳
  • 做游戏网站多少钱建设电子商务网站要多少钱
  • iBizModel 实体通知(PSDENOTIFY)模型详解
  • mysql函数大全及举例
  • 人工智能综合项目开发3-----农业病虫害识别dataclean.py
  • R语言手搓一个计算生存分析C指数(C-index)的函数算法
  • 使用leaflet库加载服务器离线地图瓦片(这边以本地nginx服务器为例)
  • 无状态协议HTTP/HTTPS (笔记)
  • 模式识别与机器学习课程笔记(8):特征提取与选择
  • python+uniapp基于微信美食点餐系统小程序
  • 【邀请函】锐成信息 × Sectigo | CLM - SSL 证书自动化运维解决方案发布会
  • 基于MATLAB实现基于距离的离群点检测算法
  • 冠县网站建设电话wordpress插件 电商
  • 【Android】RecyclerView LayoutManager 重写方法详解
  • 数据流通合规新基建 隐私计算平台的三重安全防线
  • MySQL-2--数据库的查询
  • 微信公众号商城网站开发wordpress 留言板制作
  • 虚幻基础:角色旋转控制角色视角控制
  • 【轨物方案】智慧供暖全景运营物联网解决方案
  • 超越“接收端”:解析视频推拉流EasyDSS在RTMP推流生态中的核心价值与中流砥柱作用
  • 自助建站上建的网站免费吗信息技术网站建设专业
  • 融合SpringBoot3和Vue3工程
  • 怎么学做网站制作商水县住房城乡建设网站
  • 16-机器学习与大模型开发数学教程-第1章 1-8 泰勒展开与高阶近似
  • 【学习系列】SAP RAP 6:行为定义-Concurrency Control
  • docker 运行容器限制 CPU
  • Python自动化从入门到实战(24)如何高效的备份mysql数据库,数据备份datadir目录直接复制可行吗?一篇给小白的完全指南
  • 个人可以备案网站的内容国外直播平台tiktok