当前位置: 首页 > article >正文

从0到1搭建 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

4. 初始化对象:

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

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

http://www.kler.cn/a/449229.html

相关文章:

  • 苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
  • linux socket编程之udp_dict_serve服务端--引入配置文件
  • 【机器学习】探索机器学习与人工智能:驱动未来创新的关键技术
  • JVM系列(十二) -常用调优命令汇总
  • 写作词汇积累:纰漏、坎肩、颠三倒四、隔阂
  • windows安装Elasticsearch及增删改查操作
  • MAE 随机掩码自编码器:高掩码率 + 非对称编码器-解码器架构,解决视觉数据冗余特征、计算冗余消除
  • web3跨链预言机协议-BandProtocol
  • 基于java的改良版超级玛丽小游戏
  • Python:基础语法
  • 每日一题(4)
  • R语言中vegan软件包使用教程
  • Zookeeper的选举机制
  • JVM对象分配内存如何保证线程安全?
  • leetcode 2295.替换数组中的元素
  • ElasticSearch 使用教程
  • 绿色环保木塑复合材料自动化生产线设计书
  • 【Maven】如何解决Maven循环依赖?
  • ECharts柱状图-柱图38,附视频讲解与代码下载
  • 01驱动钛丝(SMA)在汽车腰托支撑按摩气阀模块的应用
  • Ollama-OCR:利用视觉语言模型从图像中提取文本
  • 【网络云计算】2024第51周-每日【2024/12/19】小测-理论-如何实际一个校园网-简要列出
  • 内网IP段介绍与汇总
  • 分布式协同 - 分布式事务_TCC解决方案
  • NS3学习——队列管理机制
  • springboot中Jackson库和jsonpath库的区别和联系。