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

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
15天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
1月前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
17 2
|
1月前
|
存储 BI 数据处理
Python自动化 | 解锁高效办公利器,Python助您轻松驾驭Excel!
Python自动化 | 解锁高效办公利器,Python助您轻松驾驭Excel!
|
1月前
|
数据采集 测试技术 API
python爬虫之Appium 的使用
搭建appium环境,appium基本使用,API操作等等
47 0
|
1月前
|
数据采集 JSON 数据格式
python爬虫之app爬取-charles的使用
charles 基本原理,charles抓包,分析,重发。
58 0
|
1月前
|
数据采集 测试技术 API
python爬虫之app爬取-微信朋友圈
搭建appium环境,appium基本使用,API操作等等
80 0
|
3天前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
21 0
|
13天前
|
Web App开发 测试技术 网络安全
|
18天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
1月前
|
Web App开发 前端开发 JavaScript
Python Selenium是一个强大的自动化测试工具
Python Selenium是一个强大的自动化测试工具

热门文章

最新文章