appium+android测试环境安装
1. jdk配置
一、背景
- JDK已经更新到12了,但是由于很多工具仍然未及时更新,故推荐最稳定的JDK版本1.8.x;
- JDK需要配置通常情况下,JDK配置分为三项:
- JAVA_HOME:某些软件仍然需要
- CLASSPATH:某些Java WEB项目部署需要
- PATH:都需要(O(∩_∩)O哈哈~)
二、安装
- 这里选择自己操作系统对应的版本,如果是32位的操作系统,就选择32位的;如果是64位的就选择64位
- 点我查看系统版本
三、配置
1. 解压
解压到 C:\Program Files (x86)\Java\
2. 配置
右键计算机 > 属性 > 高级系统设置 > 环境变量 > 系统变量 进行设置
3. 环境变量设置
新建JAVA_HOME: C:\Program Files (x86)\Java\jdk1.8.0_171
image.png
- 新建CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
PATH环境添加:;%JAVA_HOME%\BIN;%JAVA_HOME%\JRE\BIN;
image.png
CLASSPATH如果存在,就直接添加
4. 验证
- 输入:java -version
- 输入:javac -version
- 如图显示后,即可正常
2. 安卓sdk配置
一、 简介
Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件夹中,它是一个非常强大的命令行工具,通过这个工具用来连接电脑和Android设备(手机、电脑、电视、平板、电视盒子等)。
二、安装
1. 下载安装包:
链接: https://pan.baidu.com/s/1ar6OPXCRohYXFAa83wmoxQ
提取码: 54zh
2. 解压文件包到固定位置:D:\android-sdk-windows
3. 新建a环境变量;将b c环境变量添加到path环境下
* a. 添加环境变量:
变量名:ANDROID_HOME
变量值:D:\android-sdk-windows
* b. 在path目录最后面添加:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
4. 打开命令提示符:win键+R,并输入“cmd”
5. 在cmd输入命令验证添加环境变量是否成功:adb version
三、准备模拟器
1. 下载并安装雷电模拟器:http://www.ldmnq.com/
2. 安装完成后,我们需要查看雷电模拟器是否连接adb,在cmd中输入命令:adb devices
四、常用命令
4.1 adb kill-server和adb start-server
关闭adb server和开启adb server。
有时候ADB Server会出现异常故障,我们组需要使用上述命令重启ADB Server。
4.2 adb devices
查看当前PC端连接有多少设备,通常使用此命令判断设备是否连接上电脑。
4.3 adb logcat
获取设备运行日志。通过该命令捕获安卓APP崩溃时的异常信息,帮助问题定位。
然后找到并打开日志,分析其中异常信息。
4.4 adb install
栗子:adb install xxx.apk
作用:给安卓设备安装xxx软件。运行命令后,有些手机手动确认允许电脑安装软件。
4.5 adb pull
栗子:adb pull /sdcard/123.txt C://abc
作用:将设备文件/sdcard/文件夹下的123.txt文件复制到电脑的C盘adb文件夹下。
4.6 adb push
栗子:adb push C://123.txt /sdcard/
作用:将电脑C盘目录下的123.txt文件复制到设备/sdcard/下。
4.7 adb shell
进入安卓设备的shell终端。安卓是给予Linux开发的,每一个安卓设备都自带shell终端。
我们可以使用shell终端来进行各项操作,比如查看文件目录:ls
或者可以查看安卓手机运行状态:top
还可以查看手机剩余运行内容:free -m
还可以查看手机剩余存储空间:df
3. appium-desktop安装
- 64位:链接: https://pan.baidu.com/s/1a3-_X6WU9B48UWufePZOJQ 提取码: pqfe
- 32位:链接: https://pan.baidu.com/s/1pBv7DpcMUB2kvsihu7vY3A 提取码: 37m1
4. 安装appium的安卓客户端
- pip3 install Appium-Python-Client -i https://pypi.tuna.tsinghua.edu.cn/simple
5. 安装安卓模拟器
- 下载并安装雷电模拟器:http://www.ldmnq.com/
- 打开雷电模拟器
6. 安装被测APP
传送门:链接: https://pan.baidu.com/s/1Yexgofqhb7w3F1U9RTBW_w 提取码: fv7s
7. 连接安卓设备
1 打开appnium客户端,开启服务
2 cmd-->adb devices 连接
3 abd devices -l 查看手机的信息
8. 编写appium的python代码
# 1.导入appium的webdriver
from appium import webdriver def get_driver():
"""
获取设备driver
"""
desired_caps = {}
desired_caps['platformName'] = 'Android' # 打开什么平台的app,固定的 > 启动安卓平台
desired_caps['platformVersion'] = '5.1.1' # 安卓系统的版本号:adb shell getprop ro.build.version.release
desired_caps['deviceName'] = 'vivo x6plus d' # 手机/模拟器的型号:adb shell getprop ro.product.model
desired_caps['appPackage'] = 'io.appium.android.apis' # app的名字:adb shell dumpsys activity | findstr "mFocusedActivity"
desired_caps['appActivity'] = '.ApiDemos' # app的启动页名字:adb shell dumpsys activity | findstr "mFocusedActivity"
desired_caps['unicodeKeyboard'] = True # 为了支持中文
desired_caps['resetKeyboard'] = True # 设置成appium自带的键盘 # 去打开app,并且返回当前app的操作对象
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) return driver def test():
"""
查找单个元素
"""
# 获取driver
driver = get_driver() # 通过id获取元素:最准确
app = driver.find_element_by_id("android:id/text1")
app.click() # 返回键
driver.back() # 通过text获取元素
Animation = driver.find_element_by_android_uiautomator('new UiSelector().text("Animation")')
Animation.click() # 返回键
driver.back() # 通过content-desc来获取元素
app = driver.find_element_by_accessibility_id("App")
app.click() # 返回键
driver.back() # 通过xpath获取:使用最多
media = driver.find_element_by_xpath("//android.widget.TextView[@text='Media' and @content-desc='Media']")
media.click() if __name__ == "__main__":
test()
10 adb部分命令
Adb devices --查看已经连接的设备
adb version --查看版本号
adb shell pm list package 以列表的方式显示所有的包名
-s 查看系统的应用
-3 查看第三方的软件
-f 显示所有软件的包的路径 adb install 对测试机的操作
adb install xxx.apk--给安卓设备安装xxx软件。运行命令后,有些手机手动确认允许电脑安装软件
adb pull
adb pull /sdcard/123.txt C://abc adb push
adb push C://123.txt /sdcard/--将电脑C盘目录下的123.txt文件复制到设备/sdcard/下。 adb shell 进入安卓设备的shell终端。安卓是给予Linux开发的,每一个安卓设备都自带shell终端。
我们可以使用shell终端来进行各项操作,比如查看文件目录:ls
或者可以查看安卓手机运行状态:top
还可以查看手机剩余运行内容:free -m
还可以查看手机剩余存储空间:df desired_caps = {}
desired_caps['platformName'] = 'Android' # 打开什么平台的app,固定的 > 启动安卓平台
desired_caps['platformVersion'] = '5.1.1' # 安卓系统的版本号:adb shell getprop ro.build.version.release
desired_caps['deviceName'] = 'vivo x6plus d' # 手机/模拟器的型号:adb shell getprop ro.product.model
desired_caps['appPackage'] = 'io.appium.android.apis' # app的名字:adb shell dumpsys activity | findstr "mFocusedActivity"
desired_caps['appActivity'] = '.ApiDemos' # app的启动页名字:adb shell dumpsys activity | findstr "mFocusedActivity"
desired_caps['unicodeKeyboard'] = True # 为了支持中文
desired_caps['resetKeyboard'] = True # 设
参考:https://www.jianshu.com/p/a0992243172a
appium+android测试环境安装的更多相关文章
- Appium 介绍及环境安装
Appium是一个可用于测试iOS. Android操作系统和Windows桌面平台原生应用,移动网页应用和混合应用的自动化测试框架. 原生应用(Native App):用 android.iOS或者 ...
- Android测试环境搭建
Android测试环境搭建 一.操作系统 使用Win7_64位操作系统.(可以用其他的系统,下面都是针对Win7 64位进行操作) 二.安装JDK 运行jdk-6u45-windows-x64.exe ...
- [转载]SharePoint 2013测试环境安装配置指南
软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...
- android编译环境安装
Android 编译环境安装 安装 Java 6 安装 Java 6 安装依赖包 (Ubuntu 12.04) $ sudo apt-get install git gnupg flex bison ...
- Appium 自动化测试(2)--环境安装:安装Android模拟器
一.安装java 环境-JDK 略,自行百度安装. 二.安装Android SDK Android SDK提供给我们API库和开发工具构建,测试和调试应用程序,Android.简单来讲,Android ...
- 在Mac OSX上配置Appium+Android自动化测试环境
前提准备 开始正文之前,你需要准备好一些基本条件: 1.安装好Mac OSX 操作系统的设备 2.能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 3.已经安装好 homebrew 4.已经安装 ...
- 在Mac OSX 上配置Appium+Android自动化测试环境
前提准备 开始正文之前,你需要准备好一些基本条件: 安装好Mac OSX 操作系统的设备 能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 已经安装好 homebrew 已经安装好 Python ...
- Android测试环境搭建(win7)
一.安装JDK并配置环境变量 1.在Java官方网站上下载相应系统的jdk文件安装,如win7 64 位系统下安装jdk-6u45-windows-x64,全部选择默认的安装路径即可安装完成. 2.配 ...
- 二 APPIUM Android自动化 环境搭建
1.安装JAVA运行环境 2.安装Android开发环境 3.安装nodejs 下载地址:https://nodejs.org/en/ 下载完成之后双击安装. 4.安装APPIUM,App ...
随机推荐
- C#设计模式学习笔记:(8)装饰模式
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7723225.html,记录一下学习过程以备后续查用. 一.引言 今天我们要讲结构型设计模式的第三个模式--装 ...
- string_random
1.随机数 import random 0-1间的随机浮点数,random.random() 指定区间随机浮点数,random.uniform(a,b) 指定区间随机整数(闭区间),random.ra ...
- 1.python数据类型详解
python数据类型分类 1).数值型:整数型(int).浮点型(float).布尔型(bool 取值:True.False) 2).容器类型 : 字符串型(str).列表(list).元祖(tupl ...
- SpringBoot整合NoSql--(二)MongoDB
简介: MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案.MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是 ...
- ES6常用语法(二)
arrow functions (箭头函数) 函数的快捷写法.不需要 function 关键字来创建函数,省略 return 关键字,继承当前上下文的 this 关键字 // ES5 var arr1 ...
- KVM命令--优化篇(2)
1- 为什么要调优 ___ KVM采用全虚拟化技术,全虚拟化要由一个软件来模拟硬件,故有一定的损耗,特别是I/O,因此需要优化. ___ KVM性能优化主要在CPU.内存.I/O这几方面.当然对于这几 ...
- ES6基础与解构赋值(高颜值弹框小案例!)
let只作用在当前块级作用域内使用let或者const声明的变量,不能再被重新声明let不存在`变量提升` console.log(dad); var dad = '我是爸爸!';//预定义undef ...
- Html5学习系列
Html5学习系列 HTML5 规定了一种通过 video 元素来包含视频的标准方法 Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件 MPEG4 = 带有 H.26 ...
- CF1300E Water Balance
题目链接 problem 给出一个长度为n的序列,每次可以选择一个区间\([l,r]\)并将区间\([l,r]\)内的数字全部变为这些数字的平均数.该操作可以进行任意多次. 求出进行任意次操作后可以得 ...
- HDU 6417
题意 英文 做法 \(S_{a,b}\)为\(a\)与\(b\)中素数次幂奇偶性不同的集合,容易得出\[d_{a,b}=\left\{\begin{aligned}1 &&|S_{a, ...