《精通移动App测试实战:技术、工具和案例》一1.3 Android权限系统

1.3 Android权限系统

Android操作系统其实是一个多用户的Linux操作系统,每个Android应用都使用不同的用户,运行在自己的安全沙盘里。系统为应用的所有文件设置权限,这样一来只有同一个用户的应用可以访问它们。每个应用都有自己单独的虚拟机,这样应用的代码在运行时是隔离的,即一个应用的代码不能访问或意外修改其他应用的内部数据。

每个应用都运行在单独的Linux进程中,当应用被执行时,Android都会为其启动一个Java虚拟机,因此不同的应用运行在相互隔离的环境中。Android系统采用最小权限原则确保系统的安全性。也就是说,每个应用默认只能访问满足其工作所需的功能,而不能访问其无权使用的功能。那么我们要实现移动平台的自动化测试时,比如应用Robotium,就涉及到它和被测试应用的交互,如果是上面的机制是不是意味着我们没有办法实施自动化测试呢?当然能够解决该类问题,不同的应用可以运行在相同的进程中,要实现这个功能,就必须保证应用使用相同的密钥签名、在AndroidManifest.xml文件中为这些应用分配相同的Linux用户ID。同时,如果应用需要用到照相、Wi-Fi、蓝牙、SD卡的读写操作等都需要进行授权。

时间: 2024-09-20 20:12:23

《精通移动App测试实战:技术、工具和案例》一1.3 Android权限系统的相关文章

《精通移动App测试实战:技术、工具和案例》一第1章 Android系统基础内容介绍1.1 Android系统介绍

第1章 Android系统基础内容介绍 精通移动App测试实战:技术.工具和案例工欲善其事必先利其器,因为本书主要是针对移动平台讲解测试方面的内容,所以对移动平台目前主流的Android系统有一个了解十分必要,下面我们就一起来了解一下这个操作系统相关的知识内容. 1.1 Android系统介绍 Android一词的原意指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成. Androi

《精通移动App测试实战:技术、工具和案例》一第2章 JUnit框架基础2.1 JUnit框架介绍

第2章 JUnit框架基础 精通移动App测试实战:技术.工具和案例 2.1 JUnit框架介绍 瀑布模型是最早出现的软件开发模型,如图2-1所示.该开发模型可以说在软件工程中占有重要的地位,它提供了软件开发的基本框架.其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容,给出该项活动的工作成果,并作为输出传给下一项活动.同时评审该项活动的实施,若确认,则继续下一项活动:否则返回前面,甚至更前面的活动.对于经常变化的项目而言,瀑布模型毫无价值.然而,时至今日,

《精通移动App测试实战:技术、工具和案例》一2.2 JUnit在Android开发中的应用

2.2 JUnit在Android开发中的应用 2.2.1 单元测试的重要性 前面我们提到了单元测试,那么什么叫单元测试呢?单元测试(Unit Testing),是指对软件中的最小可测试单元进行的检查和验证.对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如在Java中单元指一个类,在C语言里单元指一个函数等.单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试.通常,我们在编写大型应用系统的时候,都要写成千上万个方法

《精通移动App测试实战:技术、工具和案例》一1.7 创建一个Android项目

1.7 创建一个Android项目 前面已经完成了Android开发环境的搭建工作,现在就让我们一起来编写一个简单的Android程序.这里我们要实现一个两个整型数字相加的程序. 1.7.1 创建一个新的Android项目 启动Eclipse,单击"File > New > Android Application Project"菜单项,如图1-42所示. 1.7.2 如何填写Android项目信息 在弹出的图1-43所示界面中,"Application Name

《精通移动App测试实战:技术、工具和案例》一2.3 应用JUnit对Android项目进行单元测试

2.3 应用JUnit对Android项目进行单元测试 2.3.1 JUnit基于Android项目TestCase的应用 如果我们对基于Android系统项目开发有一定了解的话,相信一定能看出来,其核心代码是计算两个整数相加的函数.我们做单元测试当然也挑选其最核心的函数来进行测试.可以按照如下的步骤来创建一个基于Android项目的测试用例(TestCase). 第一步:选中"CalculatorOfTwoNum"项目下的"src"目录中的"com.yu

《精通移动App测试实战:技术、工具和案例》一1.5 搭建Android开发环境

1.5 搭建Android开发环境 基于移动平台的自动化测试,通常都需要我们有一定的语言基础.单元测试基础和IDE(Integrated Development Environment,集成开发环境).软件是用于程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面工具.它是集成了代码编写.编译.调试和分析等一体化的辅助开发人员开发软件的应用软件,目前应用比较广泛的IDE有VisualStudio.Eclipse等. 根据工作环境和个人喜好不同,既可以在Windows系统环境下

《精通移动App测试实战:技术、工具和案例》一1.4 Android相关的一些属性简介

1.4 Android相关的一些属性简介 Activity(活动):我们在后续的图书内容阅读过程中经常会看到这个词,那么什么是活动呢,就像我们在操作一些应用软件,比如Word,它出现的每一个功能界面,比如在编辑文件.改变字体大小后,我们单击工具条的"保存"按钮:或者是一个拼车的手机应用,我们约车的时候,其也会提供一个界面,需要我们指定出发的地点.目的地.出发时间等信息,单击"确认预约"按钮.它们都是软件系统和我们用户的一个交互,这个和我们交互的界面就叫一个"

《精通移动App测试实战:技术、工具和案例》一1.2 Android系统架构

1.2 Android系统架构 从图1-1中我们不难发现Android的系统架构采用了分层的架构,分为4个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和Linux内核层.那么它们每层都是用来做什么的呢? 1.应用程序层 应用层是用Java语言编写的运行在Android平台上的程序,比如一些手机游戏和基于手机端的应用等,如图1-1所示,最上面的Applications层. 2.应用程序框架层 应用程序框架层是编写Google发布的核心应用时所使用的API框架,开发人员可以使用这些

《移动App测试实战》——导读

前 言 现在已经是移动互联网的时代,借助手机等移动设备,人们可以完成资讯的获取.社交.游戏,以及日常生活的各种应用,甚至很多工作的开展.有很多新兴的移动互联网公司在崛起,也有很多传统的IT公司在转型,更有大量传统行业的企业在借助移动互联网拓展自己的业务.对IT技术人员而言,这是一个非常好的时代,有大量的工作机会,因为有大量的移动互联网相关系统的研发需求.当然,这也意味着有很多新的技术和方法要去学习.有很多的研发人员快速转型到移动互联网领域,有大量的移动互联网产品被开发出来.在这个过程中,也会面临