Python+Appium2.0的APP自动化环境搭建

简介: Python+Appium2.0的APP自动化环境搭建

一、前置说明


Appium 是一个用于自动化移动应用程序的开源测试框架。它支持多种移动平台,包括 Android 和 iOS,同时允许使用多种编程语言(如 Java、Python、JavaScript 等)进行测试脚本的编写。

本文针对 Windows 环境下,使用 Python + Appium 对 Android 设备进行自动化测试的环境搭建进行说明。


二、操作步骤


1、安装 Node.js

Appium 由 nodejs 实现,必须安装 node 解释器。

官方下载地址:https://nodejs.org/en

image.png

2、安装 Appium

在命令行执行命令:

npm i --location=global appium

在命令行执行命令,启动 appium server:

appium

image.png

关闭窗口,即可退出 appium server。

3、安装 JDK

Android SDK 依赖于 Java Development Kit(JDK)来执行。Android 开发工具(如 adbdxaapt 等)是用 Java 编写的,因此 JDK 是 Android 开发环境的一部分。

下载地址:https://www.oracle.com/java/technologies/downloads/

image.png

安装完成后,设置环境变量:

JAVA_HOME=C:\Program Files\Java\jdk-21
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

4、安装 Android SDK

Appium Server 使用 ADB 与 Android 设备进行通信,ADB 是 Android SDK 的一部分,用于管理设备、安装应用程序、推送文件等,因此需要安装 Android SDK。

下载 SDK Manager:https://www.androiddevtools.cn/

image.png

运行 SDK Manager,下载工具包:

image.png

image.png

image.png

image.png

安装完成后,设置环境变量:

ANDROID_HOME=D:\ProgramFiles\Android\android-sdk
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
%ANDROID_HOME%\build-tools\29.0.3

5、安装 UiAutomator2 Driver

UiAutomator 是一个由 Google 提供的用于测试 Android 应用程序的框架,它可以与设备或模拟器进行交互,模拟用户的输入和触摸操作。Appium 使用 UiAutomator 作为底层的自动化引擎,因此需要安装 UiAutomator。UiAutomator2 驱动程序目前由 Appium 团队维护,因此可以使用 appium 命令来安装。

执行命令:

appium driver install uiautomator2

6、安装模拟器

推荐使用夜神模拟器,下载地址:https://www.yeshen.com/

image.png

开启开发者模式,参考:https://support.yeshen.com/zh-CN/often/kfz

复制 Android SDK 的 platform-tools 中的 adb.exe 至桌面,重命名为 nox_adb.exe,替换夜神模拟器 bin 目录中的 nox_adb.exe 文件。

7、安装 python 环境

推荐使用 Ananonda 安装 python 环境。Anaconada 是 python 的开源发行版,包含了 Python 解释器以及许多常用的 Python 包,Anaconda 可创建和管理不同的 Python 环境。

官方下载地址:https://www.anaconda.com/download

image.png

也可使用清华大学开源软件镜像站来安装:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

设置环境变量:

ANACONDA_HOME=D:\ProgramFiles\anaconda3
%ANACONDA_HOME%
%ANACONDA_HOME%\Scripts
%ANACONDA_HOME%\Library\mingw-w64\bin
%ANACONDA_HOME%\Library\usr\bin
%ANACONDA_HOME%\Library\bin

9、安装 Appium-Python-Client

执行命令:

pip install Appium-Python-Client -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

10、安装 IDE 工具

推荐使用 pycharm 作为 python 的 IDE 开发工具。

官网下载地址:https://www.jetbrains.com/pycharm/


三、Demo 验证


编写 appium 的第一个 python 自动化脚本,来验证环境搭建是否成功。

1、启动 appium server

命令行执行:

appium

image.png

2、启动模拟器并开启远程调试

启动夜神模拟器:

image.png

开启远程调试:

adb kill-server
adb start-server
adb connect 127.0.0.1:62001
adb devices

3、测试脚本

测试脚本 github 下载地址:test_appium.py

from appium import webdriver
from appium.options.android import UiAutomator2Options
appium_server_url = 'http://localhost:4723'
capabilities = {
    'platformName': 'Android',
    'automationName': 'uiautomator2',
    'deviceName': '127.0.0.1:62001',
    'appPackage': 'com.android.settings',
    'appActivity': '.Settings',
}
capabilities_options = UiAutomator2Options().load_capabilities(capabilities)
def test_driver():
    webdriver.Remote(command_executor=appium_server_url, options=capabilities_options)

脚本测试成功,模拟器自动打开设置窗口:

image.png

image.png

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
5月前
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
5月前
|
缓存 监控 Android开发
京东 item_get_app 接口深度分析及 Python 实现
京东item_get_app接口可获取商品原始详情数据,包含更丰富的字段和细节,适用于电商分析、价格追踪等场景。需通过认证获取权限,支持字段筛选和区域化数据查询。
|
6月前
|
缓存 数据挖掘 API
淘宝 item_get_app 接口深度分析及 Python 实现
淘宝item_get_app接口是淘宝开放平台提供的移动端商品详情数据获取接口,相较PC端更贴近APP展示效果,支持获取APP专属价格、促销活动及详情页结构,适用于电商导购、比价工具、数据分析等场景。接口采用appkey+appsecret+session认证机制,需申请相应权限。本文提供Python调用示例及使用注意事项,帮助开发者高效对接移动端商品数据。
|
6月前
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
352 0
|
4月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
644 2
|
5月前
|
缓存 供应链 开发者
1688 item_get_app 接口深度分析及 Python 实现
1688平台item_get_app接口专为移动端设计,提供商品原始详情数据,包含批发价格、起订量、供应商信息等B2B特有字段,适用于采购决策、供应链分析等场景。接口需通过appkey+access_token认证,并支持字段筛选,返回结构化数据,助力企业实现智能采购与供应商评估。
|
5月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
6月前
|
数据采集 数据可视化 API
驱动业务决策:基于Python的App用户行为分析与可视化方案
驱动业务决策:基于Python的App用户行为分析与可视化方案
|
6月前
|
JSON JavaScript API
Python模拟HTTP请求实现APP自动签到
Python模拟HTTP请求实现APP自动签到
|
测试技术 API Python
Appium控件交互策略:优化自动化测试效率的关键方法
该文介绍了如何使用Selenium与APP进行交互,包括点击、输入和状态判断等操作。例如,通过element.click()点击控件,element.send_keys()输入文本,以及element.is_displayed()检查元素是否可见。还展示了如何获取元素属性,如resource-id、text和class,并提供了Python代码示例来定位并操作APP元素,如滑动条的显示、可点击性检测及点击滑动条中心位置。在编写测试脚本时,应注意元素定位和状态验证以确保测试稳定性。

推荐镜像

更多