『与善仁』Appium基础 — 1、Android系统的测试环境搭建
1、Android操作系统简介
(1)Android系统诞生
- 2003年,
Andy Rubin等人创建Android公司,并组建Android团队。 - 2005年8月17日,Google低调收购了成立仅22个月的高科技企业Android及其团队。安迪鲁宾成为Google公司工程部副总裁,继续负责Android项目。
- 2007年11月5日,谷歌公司正式向外界展示了这款名为Android的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,然后以Apache免费开源许可证的授权方式,发布了Android的源代码。
- 2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。
- 2009年4月,谷歌正式推出了Android 1.5这款手机。
(2)Android系统的结构
- 应用程序层:提供了一些核心应用程序包,用来存放应用程序,主界面、联系人、电话、浏览器、日历等。
- 应用程序框架层:可以直接使用框架提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。
- 系统库和 Android 运行时环境:系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带在程序运行时主要执行核心库和Dalvik虚拟机两部分。
- Linux内核:为Android设备的各种硬件提供了底层的驱动。
我们做测试,关注较多的还是应用程序层。
如下图所示:

(3)Android测试环境搭建整体思路
我们的目标是Android测试,所以环境需要搭建三个环境:Java环境,AndroidSDK环境,Android模拟器。
为什么要安装这三个环境?
- Java环境:Android的应用程序层使用的语言是Java,所以需要使用Java环境。
- AndroidSDK环境:Android SDK给你提供开发、测试所必须的Android API类库。
- Android模拟器:实际上就是一台手机,方便我们给大家展示效果。
补充:
Java是安卓的开发语言。
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个Java的
application framework框架,所有的应用程序都是基于Java的application framework框架之上。而application framework框架需要使用Java调用,所以要搭建Android系统手机的测试环境需要Java环境。
2、Java环境安装
(1)JDK8下载
官方下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
国内下载镜像:
(2)安装JDK8
双击运行下载好的JDK软件。
1)安装JDK导向开始,点击下一步。

2)自定义安装路径。

3)开始安装JDK。

4)安装JRE,并选择安装位置。

5)正在安装JRE,等待安装完成即可。

6)JDK和JRE安装完成,点击关闭。

7)验证。
进入命令提示符中输入java -version查看Java环境是否安装成功。

出现了Java的版本信息,就说明安装成功了。
(3)配置Java环境变量
配置Java环境变量的目的,是为了可以在任何目录下执行和使用Java命令和工具。方便在控制台编译和运行Java程序,不必进入到Java的程序目录(安装目录)里面去运行。
比如说,当你需要对Java程序文件进行编译和运行的时候,就可以在任何目录下使用java.exe和javac.exe工具,对该文件进行编译和运行,不必把该程序文件放在java.exe和javac.exe所在的目录下。
1)我的电脑 —> 右键 —> 属性,然后选择高级系统设置 —> 环境变量。
如下图所示:

2)新增JAVA_HOME环境变量。
如下图所示:

点击确定即可。
说明:
JAVA_HOME环境变量的变量值定位当JDK安装目录的根目录即可,也就说bin目录的上一级目录。(规范)- 定义在上半部分的用户环境变量中,只是当前用户生效。配置在下面的系统环境变量中,对该系统中的所有用户都生效。我们自己的电脑,就定义在系统环境变量中即可。
3)把JAVA_HOME环境变量添加到Path环境变量中。
如下图所示:

说明:JDK中就包含了JRE,如果有需要也可以在把JRE的环境单独的加入到
Path环境变量中。
4)验证,进入命令提示符中输入javac查看Java环境变量是否配置成功。
出现了如信息就证明Java环境变量配置成功了。
如下图所示:

3、Android SDK的安装步骤
Android SDK由Google针对其Android平台开发的专属软件开发工具包,可让您创建Android应用程序。
Android SDK是一款适用于移动应用程序开发人员的便捷程序,它包含了Android编程语言开始构建应用程序所需的所有内容,以及一个完整的功能设备模拟器,以便在您完成开发时进行测试。
(1)Android SDK下载
下载地址:http://www.androiddevtools.cn/
进入到下载页面点击Android SDK工具 —> SDK Tools 就会跳转到Android SDK的下载位置,然后我们根据自己的系统,按需下载就可以了。
如下图所示:

(2)Android SDK安装
1)解压Android SDK压缩包
解压android-sdk_r24.4.1-windows.zip文件,当解压后的目录,放到你自己的指定位置。
记住这个目录的位置,并且目录中不要有中文。

Android SDK的目录结构如下:

2)Android API的下载
Android SDK解压好后,我们需要下载Android API。API是一些预先定义的函数,通过调用这些函数,能够让程序得以使用设备自身的硬件或软件。
打开Android-sdk-windows文件夹,双击SDK manager.exe文件,我们需要安装Tools、Platform-tools、Build-tools、API等相关组件。在安装API时,根据要测试的模拟器或真机的Android版本而定,例如使用的真机是Android7.1.1版本,则Android SDK要下载Android7.1.1版本的API才可以。

需要根据Android7.1.1对应的API等级下载对应Android SDK Build-tools版本。

最后我们点击右下角的Install 1 package...或者Delete packages...对相关组件的安装或者卸载。
我们点击Install 1 package...安装所选组件。

勾选Accept License然后点击Install进行安装。

一个版本的Android API大概需要20个G左右的空间,需要耐心等待。
说明:
SDK Manager就是一个Android软件开发工具包管理器,就像一个桥梁,连通本地和服务器,从服务器下载安卓开发所需工具到本地。SDK Platform下个最新的就可以了,它可以向下兼容。Android Support Respository安卓兼容库,必须安装。
下面的SDK Manager说明图,总结的很好。

3)配置国内镜像下载Android API
因国外资源有时候下载较慢,这时候可以配置国内镜像资源。
在弹出的Android SDK Manager窗口中,点击Tools ,下拉框点击Options...

镜像地址列表可以自己网上查找最新的。
(3)配置Android SDK环境变量
在命令提示符中输入adb命令会出现:“adb不是内部或外部命令”。

解决的办法有两种:
- 配置
Android SDK的环境变量。 - 直接进入
Android SDK所在目录中的platform-tools目录中执行命令。
配置Android SDK环境变量,首先确保Android SDK相关组件都已下载完毕。然后同Java的环境变量配置大体相同。
1)进入到系统的环境变量配置界面。
我的电脑 —> 右键 —> 属性,然后选择高级系统设置 —> 环境变量。
2)在系统变量中新建ANDROID_HOME环境变量。

3)将Android SDK中platform-tools和tools的目录路径,添加到系统环境变量Path中。


4)验证Android-SDK环境变量是否配置成功
重新开启一个命令提示符,输入adb命令,如下显示证明Android-sdk环境变量配置成功。

4、SDK manager.exe 闪退打不开解决方案
(1)问题原因:
SDK Manager.exe通过调用android-sdk-windows\tools\lib\find_java.bat确认java.exe的路径。启用cmd.exe命令行切换路径到android-sdk-windows\tools\lib,执行find_java.bat工具,看到输出:C:\Windows\system32\java.exe。
虽然该路径下存在java.exe,但是这并不是JRE的安装路径。估计是由于某些需要Java的软件在安装时,将 java.exe、javaw.exe、javaws.exe 复制到了 C:\windows\system32 下,导致 SDK Manager.exe 调用了错误位置的 java.exe 所致。
(2)解决方法:
- 方法1:删掉
C:\Windows\system32\下的java.exe、javaw.exe、javaws.exe即可解决。 - 方法2:
编辑打开android-sdk-windows\tools下的Android.bat文件。
找到35行开始rem Check we have a valid Java.exe in the path.
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF
修改
set java_exe=到你本地的Java安装目录中的java.exe工具
将call lib\find_java.bat这行,改成rem call lib\find_java.bat。rem Check we have a valid Java.exe in the path.
set java_exe=F:\DevInstall\envs\java\jdk1.8.0_144\jdk\bin\java.exe
rem call lib\find_java.bat
if not defined java_exe goto :EOF
保存关闭
Android.bat文件,重新打开Android SDK Manager即可。
『与善仁』Appium基础 — 1、Android系统的测试环境搭建的更多相关文章
- 『与善仁』Appium基础 — 14、Appium测试环境搭建
目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...
- 『与善仁』Appium基础 — 8、Appium自动化测试框架介绍
目录 1.主流的移动端自动化测试框架 (1)Robotium (2)Macaca (3)Appium 2.自动化测试工具的选择 3.Appium简介 提示:我们前面说的Android环境搭建和adb命 ...
- 『与善仁』Appium基础 — 10、Appium基本原理
目录 1.Appium自动化测试架构 2.Appium架构图 3.Session说明 4.Desired Capabilities说明 5.Appium Server说明 6.Appium Clien ...
- 『与善仁』Appium基础 — 15、使用Appium的第一个Demo
我们使用Python语言作为测试脚本的编写语言. 执行脚本前提: Android模拟器或者手机是开机状态. 使用确保电脑和Android设备进行了链接. 也就是使用ADB命令adb connect链接 ...
- 『与善仁』Appium基础 — 16、APPium基础操作API
目录 1.前置代码 2.安装和卸载APP 3.判断APP是否已安装 4.关闭APP软件和关闭驱动对象 5.发送文件到手机和获取手机中的文件 6.获取当前屏幕内元素结构(重点) 7.脚本内启动其他APP ...
- 『与善仁』Appium基础 — 17、元素定位工具(一)
目录 1.uiautomatorviewer介绍 2.uiautomatorviewer工具打开方式 3.uiautomatorviewer布局介绍 4.uiautomatorviewer工具的使用 ...
- 『与善仁』Appium基础 — 19、元素定位工具(三)
目录 1.Chrome Inspect介绍 2.Chrome Inspect打开方式 3.Chrome Inspect工具的使用 (1)Chrome Inspect工作前提 (2)Chrome Ins ...
- 『与善仁』Appium基础 — 20、Appium元素定位
目录 1.by_id定位 2.by_name定位 3.by_class_name定位 4.by_xpath定位 5.by_accessibility_id定位 6.by_android_uiautom ...
- 『与善仁』Appium基础 — 21、元素的基本操作
目录 1.元素的基本操作说明 (1)点击操作 (2)清空操作 (3)输入操作 2.综合练习 1.元素的基本操作说明 (1)点击操作 点击操作:click()方法.(同Selenium中使用方式一致) ...
- 『与善仁』Appium基础 — 22、获取元素信息的操作(一)
目录 1.获取元素文本内容 (1)text()方法 (2)get_attribute()方法 (3)综合练习 2.获取元素在屏幕上的坐标 1.获取元素文本内容 (1)text()方法 业务场景: 进入 ...
随机推荐
- WEB安全防护相关响应头(下)
前篇"WEB安全防护相关响应头(上)"中,我们分享了 X-Frame-Options.X-Content-Type-Options.HTTP Strict Transport Se ...
- springboot整合JDBC出现Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.
今天使用springboot整合JDBC的使用,开始使用的是 com.mysql.jdbc.Driver驱动 结果运行出现此异常 那我们根据提示要求来修改即可 把驱动改成最新的com.mysql.cj ...
- ADAS测试
ADAS测试 1. ADAS和自动驾驶测试 AD和高级驾驶辅助系统(ADAS)正在不断增加新的雷达.摄像头.激光雷达和GNSS传感器,甚至也在改变 ...
- pytorch生成对抗示例
pytorch生成对抗示例 本文对ML(机器学习)模型的安全漏洞的认识,并将深入了解对抗性机器学习的热门话题.图像添加难以察觉的扰动会导致模型性能大不相同.通过图像分类器上的示例探讨该主题.使用第一种 ...
- Docker Context基本原理
Docker Context基本原理 介绍 本指南介绍了上下文如何使单个Docker CLI轻松管理多个Swarm集群.多个Kubernetes集群和多个单独的Docker节点. 单个Docker C ...
- 11-05 File类
1. 通过File输出当前项目目录下的文件"myfile.txt"的名字,大小,最后修改时间. 最后修改时间格式如:2016-03-23 14:22:16 package com. ...
- Druid数据库连接池基本使用
一.导入Druid的jar包和数据库驱动jar包 二.定义配置文件 与c3p0不同,Druid的配置文件是properties形式的.而且Druid不像c3p0那样可以自动加载配置文件,Druid需要 ...
- Android客户端网络预连接优化机制探究
一.背景 一般情况下,我们都是用一些封装好的网络框架去请求网络,对底层实现不甚关注,而大部分情况下也不需要特别关注处理.得益于因特网的协议,网络分层,我们可以只在应用层去处理业务就行.但是了解底层的一 ...
- 【NX二次开发】不健全的双击按钮。
为什么说不健全,是因为 双击按钮时会先运行单击事件,这个后面再解决.但是模仿某公司的图层操作工具是没有问题了,因为这个工具运行双击事件时本来就需要运行单击事件,不仔细看容易被唬住. 图层操作工具(双击 ...
- Django-ORM-事务和锁
一.锁 行级锁 返回一个锁住行,值到事物结束的查询集. 所有匹配的行将被锁住,直到事物结束,这就意味着可以通过锁防止数据被其他事务修改. 一般情况下如果其他事务锁定了相关行,那么本查询将被阻塞直到锁被 ...