百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

测试人必收藏系列之 Android SDK(android测试方法)

toyiye 2024-04-04 11:35 25 浏览 0 评论

作为测试工程师,在日常工作测试移动端 App 的时候必定会接触到 Android SDK,不管是基础的 App 功能测试,还是 App 端自动化测试,亦或是 App 端性能测试。很多小伙伴对于这一工具包并不太理解,本文将会详尽解释 Android SDK,以及 SDK 中每一组件的作用。

首先是 Android SDK 的功能介绍,以下来自百度百科:

SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
因此,Android SDK 指的是 Android 专属的软件开发工具包。

推荐下载地址:http://tools.android-studio.org/index.php/sdk

下载完毕解压之后会发现只有基础的工具包目录,我们还需额外手动下载对应的组件。

需要注意的是默认 Android SDK 下载组件是需要外网访问的,我们可以通过设置代理解决:

SDK 设置代理

进入到 SDK 包中,通过打开 SDK manager.exe 即可看到 SDK 管理界面,可能部分同学发现一直在加载出不来,我们需要设置代理来解决:
选择工具栏上的 Tools->Options 打开如下窗口进行设置

设置好之后重启 SDK manager 即可

目录结构说明

1、Tools 目录

Android SDK Tools

  SDK 自带工具包,必须,只需下载一个版本,一般选最新版本

Android SDK Platform-tools

  Android 平台工具,必须

Android SDK Build-tools

  Android 项目构建工具,必须

2、Android.x.x(API x.x)目录

SDK Platform

  对应平台的开发工具,需要在哪个版本的平台下开发就下载哪个,必须

Sources for Android SDK

  安卓对应平台的源代码,可以安装

ARM /Intel xxxx Image

  模拟器镜像,非必须

3、Extras 目录

Intel x86 Emulator Accelerator(HAXM installer)

  windows 平台的 Intel x86 模拟器加速工具,配合 Intel x86 atom/atom_64 System Image 使用可加快模拟器的运行速度。

4、SDK 文件目录

add-ons

  这里面保存着附加库,第三方公司为 Android 平台开发的附加功能系统

docs

??这里面是 Android SDK API 参考文档,所有的 API 都可以在这里查到。

extras

??该文件夹下存放了 Android support v4,v7,v13,v17 包;还有 Google 提供的 USB 驱动、Intel 提供的硬件加速等附加工具包

platforms

??每个平台的 SDK 真正的文件,存放了不同版本的 Android 系统。里面会根据 API Level 划分 SDK 版本,比如 Android 5.1,那么对应进入后有一个 android-22 的文件夹

samples

??是 Android SDK 自带的默认示例工程

platform-tools

??保存着一些 Android 平台相关通用工具,比如 adb、SQLite、make_f2fs 的工具。

tools

??作为 SDK 根目录下的 tools 文件夹,这里包含了Android 开发和调试的工具,比如 ddms 用于启动 Android 调试工具,比如 logcat、屏幕截图和文件管理器,其中 uiautomatorviewer.bat 工具对我们自动化测试非常重要,可以通过该工具定位元素,查看页面布局等。

build-tools

??保存着一些 Android 平台相关通用工具,比如 adb、和 aapt、aidl、dx 等文件。aapt 即 Android Asset Packaging Tool , 在 SDK 的 build-tools 目录下。 该工具可以查看, 创建,更新 ZIP 格式的文档附件(zip, jar, apk,一般我们可以通过该工具查看应用的包名和入口 activity。

uiautomatorviewer

在 Android 的 SDK 有提供 uiautomatorviewer 工具来支持我们进行 UI 自动化测试,通过截屏并分析 XML 布局文件的方式,为用户提供页面元素查看服务

使用步骤:

  1. 打开真机/模拟器的 USB 调式模式后连接到 PC 端
  2. 打开设备上的 App 界面
  3. 启动 uiautomatorviewer
  4. 获取对应页面的元素

准备工作做完后,双击 uiautomatorviewer 即可开启,通过点击左上角的第二个图标按钮 Device Screenshot,点击之后会更新当前设备的最新屏幕快照,如下所示:

界面区域说明:

左边区域显示当前最新的屏幕快照

右上方区域,显示当前页面布局控件的层级关系

右下方区域,当前选中布局/控件的属性信息,如 id、class 等等。

uiautomatorviewer 工具和 appium-desktop 自带的 Inspector 区别:

  1. uiautomatorviewer 只能支持 Android,如果是 Android 平台,推荐使用 uiautomatorviewer
  2. Inspector 可以同时支持 Android 和 iOS
  3. uiautomatorviewer 不需要配置启动参数,但是目前在 Android V7.0 以上版本支持不好

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码