appium+雷电模拟器安装的辛酸历程

本文详细介绍了如何在Windows上安装Node.js,Java(包括环境变量配置),AndroidSDK,Appium以及Python和Pycharm。指南涵盖了从安装到环境设置,如JAVA_HOME和Path,以及Python中处理appium-python-client版本兼容性问题的过程。

先上安装包:内涵node.js  java,

链接:https://pan.baidu.com/s/1m8_a0Dpz376klxIAptlLsA?pwd=v57u 
提取码:v57u

成功效果图:

教程说需要安装

1:node.js(安装包node-v20.10.0-x64.msi)

2:java(安装包jdk-8u40-windows-x64.exe)

3:android-sdk(安装包android-sdk_r24.4.1-windows.zip)

4:Appium(安装包Appium-windows-1.15.1.exe)

5:python

6:Pycharm编辑器

__________________________________________________________________

1:node.js不知道用不用得着?

2:java安装可参照Python+Appium从安装到第一个小练习(保姆级别教程)-优快云博客

然后在计算机-属性-高级系统设置-系统变量里添加JAVA_HOME的系统变量(注意是添加不是替换)

并且在Path里直接添加:

%JAVA_HOME%\bin

%JAVA_HOME%\jre\bin

(注意:建议直接装默认C盘,之前装在其他E盘里,后面安装android-SDK报错了很麻烦.改文件都未解决.)安装完后CMD里敲代码

java -version

3:android-SDK安装

参考AndroidSDK下载及安装_android sdk下载-优快云博客

务必安装的目录下没有中文

4:appium安装

也参考:Python+Appium从安装到第一个小练习(保姆级别教程)-优快云博客

成功后,

cmd里输入 adb shell "dumpsys window | grep mCurrentFocus"

会跳出来

4:python 中  pip安装有时候因版本过高会报错,

我这边selenium版本是4.0.0,Appium-Python-Client版本是2.0.0

可参考关于appium-python-client报错问题:AttributeError: ‘NoneType‘ object has no attribute ‘to_capabilities‘_appium-python-client安装报错__文书先生的博客-优快云博客

CMD中输入 pip install appium-python-client==2.0 安装

from appium import webdriver

desired_caps ={
  "platformName": "Android",
  "PlatformVersion": "9.0.62",
  "deviceName": "emulator-5554",
  "appPackage": "com.android.launcher3",
  "appActivity": "com.android.launcher3.Launcher"
}
#     {
#     'platformName': 'Android',  # 被测手机是安卓
#     'platformVersion': '10',  # 手机安卓版本
#     'deviceName': 'xxx',  # 设备名,安卓手机可以随意填写
#     'appPackage': 'tv.danmaku.bili',  # 启动APP Package名称
#     'appActivity': '.ui.splash.SplashActivity',  # 启动Activity名称
#     'unicodeKeyboard': True,  # 使用自带输入法,输入中文时填True
#     'resetKeyboard': True,  # 执行完程序恢复原来输入法
#     'noReset': True,  # 不要重置App,如果为False的话,执行完脚本后,app的数据会清空,比如你原本登录了,执行完脚本后就退出登录了
#     'newCommandTimeout': 6000,
#     'automationName': 'UiAutomator2'
# }

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

emulator-5554是输入adb devices 来的,如果有多个,继续参考其他优快云论文

<think> 我们有两个引用,都涉及使用AppiumPython雷电模拟器进行安卓自动化测试。用户要求提供一个使用Appium雷电模拟器Python代码示例。 根据引用[1]和引用[2],我们可以提取以下关键信息: 1. 需要安装appium-python-client库(注意版本,引用[2]提到4.0版本以上使用的方式有变化) 2. 需要配置Desired Capabilities,包括: - platformName: Android - platformVersion: 模拟器的安卓版本(需要在模拟器的设置中查看) - deviceName: 模拟器的设备名(如emulator-5554,可通过adb devices查看) - appPackage: 要测试的APP的包名 - appActivity: 要启动的Activity - 其他选项如unicodeKeyboard, resetKeyboard, noReset等 3. 使用webdriver.Remote连接Appium服务器(默认在http://127.0.0.1:4723/wd/hub) 引用[1]中给出了打开QQ的示例,引用[2]给出了打开通讯录的示例,并使用了新的UiAutomator2Options方式(针对appium-python-client 4.0+)。 由于现在通常使用较新的版本,我们将按照引用[2]的方式编写代码,即使用UiAutomator2Options。 步骤: 1. 确保已经启动Appium服务器(默认在本地4723端口) 2. 启动雷电模拟器,并记下其设备名称(可通过adb devices获取)和安卓版本(在模拟器的设置中查看) 3. 获取要测试的APP的包名和主Activity(可以通过多种方式获取,如使用aapt工具,或者在模拟器上安装应用后使用adb命令) 我们提供一个通用的代码框架,用户需要根据实际情况修改以下内容: - platformVersion:模拟器的安卓版本(例如9, 10, 11等) - deviceName:模拟器的设备名(例如emulator-5554) - appPackage:目标应用的包名(例如com.tencent.mobileqq) - appActivity:目标应用的主Activity(例如com.tencent.mobileqq.activity.SplashActivity) 注意:雷电模拟器的设备名可以通过以下步骤获取: - 打开命令行,运行adb devices,会列出连接的设备和模拟器。 代码示例: 我们将编写一个简单的示例,用于打开雷电模拟器上的一个应用(以QQ为例,但需要用户替换成自己的包名和Activity)。 同时,考虑到用户可能使用的库版本,我们按照appium-python-client 4.0+的写法。 另外,引用[2]中提到了使用Options的方式,我们将采用这种方式。 代码结构: 1. 导入必要的模块 2. 设置Desired Capabilities 3. 使用webdriver.Remote连接Appium服务器 注意:在运行代码之前,请确保Appium服务器已经启动,并且雷电模拟器已经打开。 下面给出代码: </think> 以下是使用 Appium雷电模拟器Python 代码示例,结合了引用中的最佳实践: ```python from appium import webdriver from appium.options.android import UiAutomator2Options # 配置Desired Capabilities(核心参数) desired_caps = { "platformName": "Android", # 操作系统类型 "platformVersion": "9", # 安卓版本(需与模拟器设置一致) "deviceName": "emulator-5554", # 设备ID(通过adb devices获取) "appPackage": "com.tencent.mobileqq", # 目标APP包名(替换为你的应用) "appActivity": ".activity.SplashActivity", # 启动Activity(替换为你的应用) "automationName": "UiAutomator2", # 自动化引擎 "noReset": True, # 不重置APP状态 "unicodeKeyboard": True, # 启用Unicode输入 "resetKeyboard": True # 测试后重置键盘 } # 初始化Appium驱动 driver = webdriver.Remote( 'http://localhost:4723/wd/hub', # Appium服务器地址 options=UiAutomator2Options().load_capabilities(desired_caps) ) # 示例操作:等待5秒后关闭应用 import time time.sleep(5) driver.quit() ``` ### 关键配置说明 1. **设备信息获取**: - 安卓版本:雷电模拟器右上角`设置`→`关于平板电脑`查看 - 设备ID:终端执行`adb devices`获取(如`emulator-5554`)[^1] 2. **APP信息获取**: - 包名/Activity:使用`adb shell dumpsys window | findstr mCurrentFocus` - 或通过`aapt dump badging <apk路径>`解析安装包[^1] 3. **Appium准备**: ```bash npm install -g appium@next # 安装Appium appium -p 4723 # 启动服务 ``` ### 常见问题解决 1. **连接失败**:检查雷电模拟器`设置`→`网络`开启桥接模式 2. **元素定位失败**:使用`appium-desktop`录制功能获取控件ID 3. **兼容性问题**:确保Appium版本与`appium-python-client`匹配(推荐4.0+)[^2] > 完整文档参考:[Appium Python Client文档](https://github.com/appium/python-client)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值