首先安装基础运行环境,nodejs,jdk1.8【具体流程自己查】
androidsdk 链接: https://pan.baidu.com/s/17m3OEiUYhMakbiRXgooI4Q 提取码: dddd
node-v20.9.0-x64.msi 链接: https://pan.baidu.com/s/1GDgN4gcw6FzXD4_Ej9fJsQ 提取码: dddd
java8x64_8.0.1810.13.exe 链接: https://pan.baidu.com/s/1bXEok6dZmgH5RCJii3G8qQ 提取码: dddd
以下正文:
1:准备工作
安装adb工具和环境变量配置【具体流程自己查】
设置手机【我使用的手机】:
1. 打开开发者选项
2. 打开允许USB调试
3. 勾选允许USB安装
4. 勾选允许USB调试安全设置
用adb工具测一下手机能不能连上
使用命令 adb devices,看看有没有设备
出现以下内容为成功
List of devices attached
设备名xxxx device
2:安装appium#clients【踩坑较多】
截止到2024年10月,appium已经把server端和inspector两套工具,低版本时的appium是集成在一起的,但是我没配置好,并且开发者提示使用 Appium Desktop 或 Appium Server GUI,则无法升级到 Appium 2,因为这两个工具都已弃用。
我们将Appium Inspector 与独立的 Appium 2 服务器结合使用。所以直接从最新版本开始配置。
2.1:Appium的server端使用npm方式安装【需科学上网】
具体可见:https://github.com/appium/appium
npm设置代理地址
# npm config set proxy http://代理服务器地址:端口号
# 安装命令:
npm install -g appium
# 启动Appium服务命令【这里先不启动服务】:
Appium
# 将启动 Appium 服务器进程,该进程将加载所有已安装的 Appium 驱动程序,并开始等待来自客户端连接的新会话请求(例如测试自动化脚本)。
2.1.1 安装appium中的驱动程序
# 安装命令:
appium driver install uiautomator2
# 出现以下内容为安装成功:
Attempting to find and install driver 'uiautomator2'
✔ Installing 'uiautomator2' using NPM install spec 'appium-uiautomator2-driver'
Driver uiautomator2@2.0.5 successfully installed
- automationName: UiAutomator2
- platformNames: ["Android"]
再次启动 Appium 服务器(运行appium),应该会看到新安装的驱动程序被列为可用:
[Appium] Available drivers:
[Appium] - uiautomator2@2.0.5 (automationName 'UiAutomator2')
此时appium服务端完成安装
2.2 安装appium inspector
文件在:https://github.com/appium/appium-inspector/releases
我使用的文件名称为:Appium-Inspector-2024.8.2-win-x64.exe
选择所有用户,直接安装就行了
3.使用appium inspector
确认开启appium的服务,上面运行命令appium就是已经开了
3.1 填写inspector内容
参考内容:
{
"appium:platformName": "Android", # 系统名称
"appium:platformVersion": "13", # 安卓版本,自己看设备
"appium:deviceName": "3d22164f0602", # 设备名称,我写的adb工具命令显示的名称
"appium:appPackage": "com.xxxx.xxxx", # 包名,获取方式在下面
"appium:appActivity": "com.xxxx.xxxx.MainActivity", # 活动名,获取方式写在下面
"appium:automationName": "UiAutomator2", # 自动工具的名称也是驱动名,上面安装过了,照这个写
"appium:udid": "3d22164f0602", # 设备的UDID,写设备名
"appium:noReset": True, # 不重置app数据打开,退出后不清除数据
"appium:newCommandTimeout": 3600, # 这个不用说
"appium:connectHardwareKeyboard": True, # 这个不知道
"appium:dont_stop_app_on_reset": True # 不结束app,就是可以直接调用app,这个自己看情况加
}
1. 获取包名 appium:appPackage:
有的手机在应用管理的界面能看到
或者使用adb命令
adb shell pm list package -3 展示第三方安装包名
名字一般是公司名称缩写或者英文,自己找吧
2. 获取活动名 appium:appActivity:
adb shell monkey -p 包名 -v -v -v 1
在输出的+(加号)后面跟了一串字符串,参考下图所示
参数写完启动inspector就行了
4. 配置python的包【python安装过程略】
使用pip install Appium-Python-Client==3.1.0 安装python客户端
安装完使用python代码测一下,只要不报错就没毛病,出错了拿着报错信息跟GPT去聊
from appium import webdriver
from appium.options.common.base import AppiumOptions
from appium.webdriver.common.appiumby import AppiumBy
# For W3C actions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput
options = AppiumOptions()
options.load_capabilities({
"appium:platformName": "Android",
"appium:platformVersion": "13",
"appium:deviceName": "3d22164f0602",
"appium:appPackage": 包名,
"appium:appActivity": 活动名,
"appium:automationName": "UiAutomator2",
"appium:udid": "3d22164f0602",
"appium:noReset": True,
"appium:newCommandTimeout": 3600,
"appium:connectHardwareKeyboard": True,
"appium:dont_stop_app_on_reset": True
})
driver = webdriver.Remote("http://127.0.0.1:4723", options=options)