搭建Android自动化python+appium环境

一. 需要软件

  1. JDK:JAVA安装后配置JDK环境

  2. SDK:SDK下载后配置adb环境

  3. Python:pyhton语言

  4. Pycharm:python脚本编译工具

  5. Appium-python-client:pyhton中的库

  6. Appium客户端

二. 搭建步骤

1.配置JDK环境

①. 下载安装java:

https://www.oracle.com/java/technologies/javase-jdk14-downloads.html

②. 在安装的时候需要注意,java和jre分开两个目录安装.否则会出现问题

③. 配置环境:

电脑右击-->属性-->高级系统设置->环境变量:

在系统变量中录入java和jre目录:也可以参考百度解决配置问题

2.配置SDK环境:

①. 下载SDK:

https://android-sdk.en.softonic.com/

②.配置

SDK下载后,不用安装,解压缩配置即可.

在系统变量中->path中录入platform-tools和tools目录,也可以百度解决。

3.下载安装python

①.下载:下载对应系统的版本

https://www.python.org/

②. 安装,安装的时候需要注意勾选add pyhton to path,这样可以自动配置环境变量

③. 在CMD中输入pyhton回车显示pyhton版本即可表明安装和配置成功

4.Pycharm下载安装

①. 下载:https://www.jetbrains.com/pycharm/

②. 安装的时候需要注意勾选适当的快捷方式,有32位和64位,根据自己的系统选择

③. 打开pycharm新建工程时要会配置interpreter,可以在新建工程的时候配置,也可以在file-->settings中配置

④. 配置后就可以打开进行编程了

5.安装Appium-python-client库

这个可以分两个方法:

①. 在cmd中安装:进入cmd中,输入pip install Appium-python-client,等待安装完成就可以

②. 在pycharm中file-->settings-->工程中选择project interpreter,在package列表的右上角有+.点击,然后搜索Appium-python-client,点击窗口下方的install package,等待安装完成即可

6.Appium客户端:

①. 下载:http://appium.io/

②. 一般进行默认安装即可

三. 手机配置

  1. 打开开发者模式

  2. 启用USB调试模式

  3. 在CMD中,输入adb devices能够识别手机信息表示成功

  4. 打开SDK->tools中的uiautomator.bat文件,就可以对手机上的元素进行定位操作了

四. 代码实现

  1. 打开pycharm

  2. 安装的库需要导入才能使用:from appium import webdriver

  3. 然后要配置设备信息:

desired_caps={ #移动设备平台 'platformName':'Android', #平台OS版本号 'plathformVersion':'7', #设备的名称--值可以随便写 'deviceName':'test0106', #提供被测app的信息-包名,入口信息 'appPackage':'com.hpbr.bosszhipin', 'appActivity':'.module.launcher.WelcomeActivity', #确保自动化之后不重置app 'noReset':True, #设置session的超时时间,单位秒 'newCommandTimeout':6000

初始化对象:

#初始化driver对象-用于控制手机driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)driver.implicitly_wait(10)#稳定元素

在接下来就可以进行元素定位了.

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
天空之城--29 分钟前
Android Flutter行业动态与学习参考(2026年8月)
android·flutter
m0_525724721 小时前
Jenkins共享库实现流水线复用
自动化·k8s·devops
quantdash_cc1 小时前
基于 QuantDash 5 分钟 K 线的网格交易策略参数网格搜索寻优实战
android·开发语言·pandas·量化·quantdash
杉氧2 小时前
原生交互:如何在 Flutter 中嵌入 Android/iOS 原生组件并解决手势冲突
android·flutter·dart
Black蜡笔小新3 小时前
从智慧社区到雪亮工程:国标GB28181公网平台EasyCVR如何构建视频“一张网”?
人工智能·自动化·easycvr
Android打工仔3 小时前
Continuation 的链式关系 —— 一个 suspend 函数如何把结果交还给调用者?
android·kotlin
hunterandroid3 小时前
[Android 从零到一] Kotlin Channel 与复杂并发场景:从生产者-消费者到结构化并发治理
android
梦想的旅途23 小时前
企业微信自动化实战:客户资料自动修改与备注同步
运维·自动化·企业微信
Dr.kangder3 小时前
嵌入式面试总结(一)——嵌入式系统实时性
面试·职场和发展·架构·嵌入式·虚拟化
梦想的旅途23 小时前
企业微信自动化实战:客户通讯录备份与关系自动迁移
运维·自动化·企业微信