搭建Android自动化python+appium环境

2023-09-21 14:48:35

一. 需要软件

  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. 在接下来就可以进行元素定位了.

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

在这里插入图片描述

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

更多推荐

嵌入式:驱动开发 Day4

作业:通过字符设备驱动分步注册方式编写LED驱动,完成设备文件和设备的绑定驱动程序:myled.c#include<linux/init.h>#include<linux/module.h>#include<linux/cdev.h>#include<linux/fs.h>#include<linux/device.h

echart在折线显示横纵(横纵线沿着折线展示)

产品有个需求,需要在echart折线上展示横纵向坐标系,echart的axisPointer默认是展示在鼠标当前位置的,不符合需求,所以是使用markline实现的在线例子和源码先上效果图实现思路横纵线的x轴线是比较容易的,因为echart的axixPointer的位置是鼠标当前坐标作的,所以x轴线直接用toltip的

【K8S系列】深入解析k8s网络插件—Cilium

序言做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。文章标记颜色说明:黄色:重要标题红色:用来标记结论绿色:用来标记论点蓝色:用来标记论点在现代容器化应用程序的世界中,容器编排平台Kubernetes已经成为标准。为了支持复杂的应用和微服务架构,网络是Kubernetes集群中不可或缺的一部分。本文将深

【Oracle】Oracle系列之六--Oracle表分区

文章目录往期回顾前言1.基本概念2.范围分区3.Hash分区(散列分区)4.复合分区往期回顾【Oracle】Oracle系列–Oracle数据类型【Oracle】Oracle系列之二–Oracle数据字典【Oracle】Oracle系列之三–Oracle字符集【Oracle】Oracle系列之四–用户管理【Oracle

【车载开发系列】AutoSar软件组件接口

【车载开发系列】AutoSar软件组件接口【车载开发系列】AutoSar软件组件接口【车载开发系列】AutoSar软件组件接口一.端口概念二.三种端口方向三.五种端口属性1)S/RPort2)C/SPort3)ModeSwitchinterface4)其他Port四.PortInterface五.PortInterfa

SSRF绕过思路

SSRFSSRF(Server-SideRequestForgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)形成的原因:SSRF形成的原因大都是由

Google高性能开源框架gRPC:快速搭建及HTTP/2抓包

一、什么是gRPCgRPC是google发起的一个*远程过程调用(rpc)*开源框架,可以在任何语言中,用任何编程语言编写。gRPC基于HTTP/2协议,使用ProtocolBuffers作为序列化工具。gRPC官网:https://grpc.io/RPCRemoteProcedureCall,远程过程调用协议,一种通

AI----人工智能简介

【原文链接】AI----人工智能简介一、人工智能简介1.1人工智能发展的要素数据算法计算力1.2CPU和GPU的区别CPU主要适合I/O密集型的任务GPU主要适合计算密集型任务1.3人工智能、机器学习、深度学习的联系机器学习是人工智能的实现途径深度学习是机器学习的一个方法1.4人工智能发展阶段1.5人工智能主要分支计算

需求管理-架构真题(三十四)

产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的()的集合。(2021)需求规格说明、设计说明、测试报告需求规格说明、设计说明、计算机程序设计说明、用户手册、计算机程序文档、计算机程序、部件及数据答案:D解析:产品配置主要就是文档、计算机程序、部件及数据的集合。需求管理的主要活

Matlab程序结构

目录顺序结构循环结构1、for循环结构分支结构1、if...end结构2、if...else...end结构3、switch...case...end结构顺序结构顺序结构是最简单的程序结构。用户在编写玩程序后,系统就将按照程序的实际位置逐一顺次执行。例1:求a、b两个数组的和>>a=[123];>>b=[456];>>

【OpenSSL】单向散列函数

什么是单向散列函数任意长度数据生成固定长度是散列快速计算消息变化散列变化单向不可逆,抗碰撞应用场景文件完整性口令加密消息认证伪随机数配合非对称加密做数字签名比特币工作量证明单向hash抗碰撞弱抗碰撞给定X和hash值的情况下,找到另外个数,hash值相同。强抗碰撞找到散列值相同的两个字符串MD5,SHA-1已经被攻破可

热文推荐