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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 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

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
16天前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
53 14
|
19天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
6天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
23 7
|
19天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
29 4
|
19天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
2月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
689 7
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
744 1
|
3天前
|
供应链 搜索推荐 API
1688APP原数据API接口的开发、应用与收益(一篇文章全明白)
1688作为全球知名的B2B电商平台,通过开放的原数据API接口,为开发者提供了丰富的数据资源,涵盖商品信息、交易数据、店铺信息、物流信息和用户信息等。本文将深入探讨1688 APP原数据API接口的开发、应用及其带来的商业收益,包括提升流量、优化库存管理、增强用户体验等方面。
27 6
|
4天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
26 3