搭建Android自动化python+appium环境

2023-09-16 15:18:14

一. 需要软件

  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)#稳定元素

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

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

在这里插入图片描述

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

更多推荐

项目经理的“四定、五起、六法”工作法

大家好,我是老原。说来,我也工作十多年了,就像很多刚入门的项目经理一样,一开始不知道怎么预设风险、沟通和团队协调不够好;有的人就可以规避风险,人际往来和团队管理都信手拈来,整个项目顺风顺水,没什么大的问题出现……你以为他一开始就能这么6?其实都是做了很多项目后总结出了一些实用又有效的方式方法。而这些方法对每个职场人其实

SENSORO 城市数字化服务平台入围2023《财富》中国最佳设计榜

9月20日,《财富》杂志2023中国最佳设计榜揭晓,SENSORO城市智能感知服务平台荣登榜单。“这是数字政务与数字城市的新尝试”,《财富》评价称。这也是今年软件/平台类目的唯一上榜。数十年前,设计还主要体现于产品美学;到了今天,设计已成为商业模式创新和社会变革的起点。《财富》中国最佳设计榜就试图寻找那些从人的真实需求

tensorflow的unet模型

importtensorflowastffromtensorflow.keras.layersimportInput,Conv2D,MaxPooling2D,Dropout,UpSampling2D,concatenate#定义U-Net模型defunet(input_size=(256,256,3)):inputs=

正则表达式

正则表达式参考文章@CUGGZ参考文章@轩陌声明一个正则表达式字面量声明constrex=/pattern/;构造函数声明constrex=newRegExp(pattern);匹配模式字符集合[]可以匹配中括号中包含的任意字符比如想要匹配btctletrex=/[bc]t/g;letstring="actionbat

SVN 和 GIT 命令对比

参考https://blog.csdn.net/justry_deng/article/details/82259470#TortoiseSVN打分支、合并分支、切换分支https://www.huliujia.com/blog/802a64152bbbe877c95c84ef2fdf3857a056b536/#版本控

机器学习——奇异值分解(未完)

开坑,刚看完书,已经有些窒息了先把坑挖了,再慢慢填,避免自己划水跳过我爱线代,线代爱我,阿弥陀佛为什么要学奇异值分解?因为书本倒数第二章专门提到的,想必一定很重要,于是我上网查了一下奇异值分解的应用wow。。。很有用,增加了学习的动力奇异值分解的应用在机器学习中,奇异值分解,可以删除一些没什么作用的特征。具体是如何删除

JVM——6.字节码指令

这篇文章我们来学习一下字节码指令目录1.简介2.字节码与数据类型3.加载与存储指令4.运算指令5.类型转换指令6.对象创建于访问指令7.操作数栈管理指令8.控制转移指令9.方法调用与返回指令10.异常处理指令11.同步指令12.小结1.简介Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码)

在微信公众号怎么做电子优惠券功能

在微信公众号上,商家可以提供电子优惠券功能来吸引更多的消费者关注并参与,同时提高产品的知名度和销售额。下面是一篇关于如何在微信公众号上实现电子优惠券功能的文章,供您参考。一、了解电子优惠券的定义和优势电子优惠券是一种以电子形式发放的优惠凭证,商家通过微信公众号向消费者发放电子优惠券,消费者在购买指定商品或服务时使用,可

一遍关于vue基础语法上篇

目录一.插值1.1.文本1.2.html1.2.3.属性1.1.4.表达式演示效果:二.指令2.1.v-if/v-else-if/v-else2.2.v-show2.3.v-for2.4.v-bindv-onv-model2.5.动态参数演示效果:三.过滤器3.1.局部过滤器基本应用3.2.局部过滤器串行使用3.3.局

千呼万唤openGauss资源池化系列培训来了

应openGauss广大用户要求,社区于近期推出openGauss资源池化培训系列。关于资源池化资源池化是openGauss5.0.0推出的重点特性,是openGauss基于内存池化和共享存储实现的数据库集群。数据在集群的计算节点内存、共享存储中实现共享。应用可以任意节点接入,集群可以保证提供实时一致性的数据。集群也保

Linux设备驱动之IIC驱动

Linux设备驱动之I2C驱动I2C是一种半双工串行通信总线,使用多主从架构,总线上会挂载设备,设备通信就会涉及协议,下面一起看看I2C通信协议是怎样的,在Linux系统上软件又是如何驱动的。I2C通信协议硬件连接I2C串行总线一般有两根信号线,一根是双向数据线SDA,另一根是时钟线SCL,数据线即用来表示数据,时钟线

热文推荐