当前位置:文档之家› Android Espresso自动化测试环境搭建

Android Espresso自动化测试环境搭建

Android Espresso自动化测试环境搭建
Android Espresso自动化测试环境搭建

Espresso设置指令

?设置您的测试环境

?下载Espresso

?仪表设置转轮

?build.gradle 文件示例

?分析

?添加第一测试

?运行测试

本指南涵盖Espresso SDK 安装使用管理器创建信息技术使用格拉德尔.安卓工作室.

设置您的测试环境

避免片状, 我们强烈建议关闭动画系统虚拟或物理设备用于测试.

?都能在上面下设置- >显影剂选项3 禁用下列选项设置:

o动画缩放窗口

o规模过渡动画

o动画师持续时间震级

下载Espresso

?请确保已安装最新储存库 Android 的支持下额外(见指令).

?打开应用程序build.gradle文件.通常不是顶级build.gradle但文件app/build.gradle.

?中添加以下行相依性:

androidtestcompile "com.android.support.test.espresso:espresso-core: 2.2.1"

androidtestcompile "com.android.support.test:runner:0.4. 1"

?看到下载更多的程序化操纵的部 - Contrib (特Espresso, 爱斯普利索咖啡幅材等)

仪表设置转轮

?增加 build.gradle 相同则取消对 runado. cpp 中以下行的文件android.defaultConfig:

testinstrumentationrunner "android.support.te

-

st.runner.AndroidJUnitRunner"

build.gradle 文件示例

apply plugin: "com.android.application"

android {

compileSdkVersion 22

buildToolsVersion "22"

defaultConfig {

applicationId "com.my.awesome.app"

minSdkVersion 10

targetSdkVersion 22.0.1

versionCode 1

versionName "1.0"

testInstrumentationRunner

"android.support.test.runner.AndroidJUnitRunner"

}

}

dependencies {

// 这款应用的依赖项, 它包含测试

compile "com.android.support:support-annotations:22.2.0"

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 注释: 22.2. 0

/ / 测试只依赖性

androidTestCompile "com.android.support.test:: 0.4. 1

androidTestCompile "com.android.support.test.espresso: espresso - core: 2.2.1

}

分析

, 以确保我们在正确的轨道上每一个新版本, 运行测试收集分析.更具体地, 上传的散列应用程序的分组名称为每次调用测试.这允许我们测量包裹时用独特的计数Espresso体积以及在使用.

如果您不希望该数据上传, 你可以通过给测试运行程序论说以下主

张:disableAnalytics "true"(见如何通过自定义参数).

添加第一测试

Android Studio 会创建在默认情况下试验

src/androidTest/java/com.example.package/

示例测试 junit4 使用规则:

@ Runwith(Androidjunit4.class)

@ LargeTest

public class helloworldespressotest {

@ Rule

public activitytestrule mactivityrule = new activitytestrule(mainactivity.class);

@ Test

public void listgoesoverthefold() {

onview(withtext("Hello

world!")).check(matches(isDisplayed()));

}

}

运行测试

Android Studio

创建一个测试配置

Android 工作室:

?打开运行菜单- >编辑配置

?添加新安卓试验配置

?选择模块

?添加特殊管理规范:

android.support.test.runner.AndroidJunitRunner

运行新生成配置.

从命令行通过Gradle

执行

./gradlew connectedAndroidTest

https://google.github.io/android-testing-support-library/docs/espresso/setup/index.html Espresso基础

?onview 与取景

?视图上执行动作的

?如果满足检查断言视图

?开始 onview 来试试就成.

?基于与使用AdapterView(控制ListView,GridView,...)

?开始相对来试试就成.

?调试

API 测试浓缩咖啡鼓励作者认为用户可能进行交互时做定位应用 UI 元素, 并且和他们互动.同时, 框架阻碍直接接入活动和在应用程序视图因为持有了这些对象和操作它们关闭 UI 线程的一个主要来源是测试片状.因此, 您将不会看到getcurrentactivity getview 方法中被和 API.你上操作仍能安全实现自己意见ViewAction和ViewAssertion的.

这里有一个的主要部件的概况图制作浓缩咖啡时,:

?Espresso入口点——视图 (通过相互作用onView和onData). API 也暴露出不一定只做任何视图 (例如pressBack).

?viewmatchers(由小泡沫堆积对象实现Matcher接口.你可以通过一个或多个这些onView定位方法当前视图视图层次.

?viewactions(由小泡沫堆积ViewAction的, 可以被传递到

ViewInteraction.perform()方法 (例如,click()).

?viewassertions(由小泡沫堆积ViewAssertion能够在通过

ViewInteraction.check()方法.大多数时间, 你是利用比赛主张, 使用

视图断言匹配器的当前状态选择的视图.

示例:

onview(withID 的(R.ID., 用视图)) r.id withID 的 / / (.) 是, 用视图 viewmatcher

.执行(点击()) / / viewaction 是 click ()

.检查(匹配(年薪制())); / / (匹配 (年薪制)) 是 viewassertion onview 与取景

在绝大多数的案件中都是 onview Hamcrest 匹配器 (matcher), 提高徐州市农业现代化水平, 实现依靠科技进步解决 "三农" 问题被匹配上的指导, 而且这

仅有的一次唯一的) 当前视图层次视图.匹配器将有强大的熟悉那些与她的孩子们一起玩这些橡皮泥, JUnit 或 Mockito.如果您不熟悉 Hamcrest 匹配器, 我们建议你首先了解看看这呈现.

经常期望视图具有独特R.id和简单withId综合显示上传, 删除, 保护, 查封匹配器将缩小搜索.然而, 有许多合法的情况下当您不能确定R.id在测试开发时间.例如, 可能不具有特定视图或 r.id r.id 不是唯一.这可以使复杂仪表和脆性试验正常去写作因为以常规的方式对访问视图 (findViewById()) 根本不可

能运行.因此, 您可能需要访问的私有成员保持活性或片段视图或容器, 具有已知找到并定位到其 r.id 内容视图 # "前面.

Espresso允许胶带可均匀地将处理这个问题去现有视图中的栏目ViewMatcher

或您自定义的.

认为 r.id 苦恼一样简单:

onView(withIid (R.id.my_view))

有时, r.id 多个视图之间共享值.当这一切发生的时候尝试使用特定R.id给你一个AmbiguousViewMatcherException(例如).您提供异常消息的文本表示当前

视图层次, 您可以去搜寻并找到意见非唯一匹配R.id:

https://www.doczj.com/doc/601032800.html,ng.抛出 RuntimeException:

com.谷歌.安卓.应用程序.共同.测

试.UI.Espresso.ambiguousviewmatcherexception:

这匹配器匹配多个视图在的层次: (withID 的: 是 <123456789>)

.

+----->SomeView{ID=123456789, res-name=plus_one_standard_ann_button, 能见度=VISIBLE, 宽度=523, 高度=48, has-focus=false, has-focusable=true, window-focus=true,

is-focused=false, is-focusable=false, 启用=true, 选择=false,

is-layout-requested=false, 文本=, root-is-layout-requested=false,

X=0.0, Y=625.0, child-count=1}

****MATCHES****

-

+------>OtherView{ID=123456789, res-name=plus_one_standard_ann_button, 能见度=VISIBLE, 宽度=523, 高度=48, has-focus=false, has-focusable=true, window-focus=true,

is-focused=false, is-focusable=true, 启用=true, 选择=false,

is-layout-requested=false, 文本=Hello!,

root-is-layout-requested=false, X=0.0, Y=0.0, child-count=1}

****MATCHES****

通过意见的各种属性, 您可能会发现唯一可标识的特征 (在上述示例中, 一个具有意见文本 "你好!"). 你能使用它作为缩小您的采用组合搜索匹配器:

onview(所有(withID 的(R.ID., 用视图), withtext("Hello!")))

您还可以使用not撤销任何的匹配器:

onview(所有(withID 的(R.ID., 用视图), 不(withtext("Unwanted"的性态

看到viewmatchers视图匹配器的意式咖啡提供.

注:在一个功能良好的应用程序, 所有视图用户可与之互动的要么应当具有的描述性文本或内容描述 (参见安卓易读性指引. 如果您无法搜索 onview 减少 "或" 使用 "withcontentdescription withtext, 考虑错误当成一种无障碍处理.

注:至少使用描述性视图匹配器 (matcher), 找到你想找.不过头, 因为这将迫使一点的框架不只是必要的操作.例如, 如果视图其唯一地识别出文本, 不需要规定你的观点不也正从可分配TextView许多的意见R.id应该足够的.

注:如果对象视野, 是内AdapterView(例如

ListView,GridView,Spinner)onView方法可能不会工作和建议使用onData方法.

视图上执行动作的

当您找到了合适的匹配器, 用于对象视野, 可以执行ViewAction平台上使用的perform方法.

例如, 点击 "视图: 视图 1"

onview(......).执行(点击());

你一次能执行几个只要用一个执行呼叫:

onview(......).执行(typetext("Hello"), 点击());

如果视图的工作是你位于ScrollView(垂直或水平), 考虑前需要要显示的视图(如click()和typeText())scrollTo()这确保了. 视图显示方式进行其他行动之前:

onview(......).执行(浏览(), 点击());

注: scrollTo()如果将没有影响已经在英国很有限, 该项目主要是通过安全利

用储存的显示就显示视图时由于更大的屏幕尺寸 (例如, 当这两者之上运行测

试较小和较大屏幕分辨率).

看到viewactions视图的意式咖啡提供的动作.

如果满足检查断言视图

断言能被应用至当前与所选视图check()方法.声明是指最常用matches()声明时, 它使用ViewMatcher断言的当前状态选择的视图.

例如, 以检查看法将文本 "你好!":

onview(......).检查(匹配(withtext("Hello!")));

注:做没有说明是 "断言" 到 "论说 onview 相反, 清楚具体说明你正在检查检查块.例如:

如果你想观点, 即在你好! "是视图集的内容, 考虑以下情况不好的做法:

/ / 不要使用断言 onview withtext 内部等.

onview(所有(withID 的, (...), withtext("Hello!"))).检查(匹配(年薪制()));

另一方面, 如果你想给人视图机制可以确定一种将文本 "你好!" 是有目共睹的, 例如意见改变之后的代码标志能见度很好.

注:必须注意差异一个观众没有声称显示和断言不存在视图的在视图层次.

开始 onview 来试试就成.

在该示例中SimpleActivity包含Button和TextView当按钮点击的内容TextView改变"Hello Espresso!". 如何测试这场Espresso与:

1.点击按钮

第一步先研究属性寻找按钮.按钮SimpleActivityR.id 具有独特完美!

onview(withID 的(R.ID.button _ 简单))

现在进行点选:

onview(withID 的(R.ID.button _ 简单)).执行(点击());

2.检查TextView现在包含 "你好Espresso!"

的TextView与文本具有独特 r.id 验证:

onview(withID 的(R.ID.简单文本 _))

现在核实内容文本:

onview(withID 的(R.ID.简单文本 _)).检查(匹配(withtext("Hello Espresso!")));

基于与使用AdapterView(控制ListView,GridView,...)

adapterview是一种特殊类型的界面部件, 其动态地从加载其数据适配器.的最普通例子AdapterView是ListView而静态. 开发很多插件, 比如在LinearLayout第二算子指示一时间, 以在该时间处,AdapterView儿童可被加载到当前视图层次和简单onView()搜索不会找到尚未加载视图.Espresso提供单独的多个实例,onData()入口点上第一负载能够适配器 (项目聚焦的对象) 的距离使其操作在其上的或之前任何带走了自己的孩子.

注:你可以选择绕过onData()加载动作项目视图适配器, 因为他们最初显示已

加载.然而, 使用更安全的做法是始终对onData().

警告:自定义执行,AdapterView问题可以具有onData()方法, 如果犯规 (特别是继承合同getItem()API).在这种情况下, 最好的办法就是把重构您的应用代码.如果你们不能那样做的话, 你可以实现自定义匹配AdapterViewProtocol. 请看默认adapterviewprotocols留连法式咖啡座提供更多信息.

开始相对来试试就成.

这个简单的测试演示如何使用onData().SimpleActivity包含Spinner一些项目- 串调制后符号 422 表示的咖啡饮料.当选择一个项时, 存在TextView更改"One %s a day!"S% 其中所选择的项目.目标本试验的打开Spinner选择特定项, 然后验证TextView包含项目.作为Spinner类基于AdapterView建议使用onData()而不是onView()项目匹配.

1.点击旋转器打开该项选择

onview(withID 的(R.ID._ 简单旋转器)).执行(点击());

2.点击 "美式咖啡"

选中项创建旋转器ListView- 内容这可以时间长, 未归于元件视图层次 - 浇

上曲onData()我们强迫我们到视图层次所需元素.项目Spinner是字符串, 那么我们希望随时满足项目是串, 并且等于字符串 "美式咖啡":

基于(所有(是(instanceof(串.类)), 是("Americano"))).执行(点击());

3.验证TextView包含字符串 "美式咖啡"

onview(withID 的(R.ID.spinnertext _ 简单))

.检查(匹配(withtext(containsstring("Americano"坐标;

调试

提供有用的调试信息Espresso当测试失败:

测井

Espresso到 LogCat 所有视图操作日志.例如:

ViewInteraction: Performing 点击 "" action on view with text: Espresso 视图层次

Espresso中打印视图层次当异常字符串onView()失败. * 如果onView()没有找到对象视野,NoMatchingViewException.你可以检查在视图层次分析为什麽异常字符串匹配器不匹配任何意见. * 如果onView()发现符合给定多个视图匹配

器,AmbiguousViewMatcherException.印刷和视图层次进行匹配后的所有视图与标记与标签匹配:

https://www.doczj.com/doc/601032800.html,ng.RuntimeException:

https://www.doczj.com/doc/601032800.html,mon.testing.ui.espresso.AmbiguousViewMatch erException:

This matcher matches multiple views in the hierarchy: (withId: is

<123456789>)

.

+----->SomeView{ID=123456789, res-name=plus_one_standard_ann_button, 能见度=VISIBLE, 宽度=523, 高度=48, has-focus=false, has-focusable=true, window-focus=true,

is-focused=false, is-focusable=false, 启用=true, 选择=false,

is-layout-requested=false, 文本=, root-is-layout-requested=false,

X=0.0, Y=625.0, child-count=1}

****MATCHES****

-

+------>OtherView{ID=123456789, res-name=plus_one_standard_ann_button, 能见度=VISIBLE, 宽度=523, 高度=48, has-focus=false, has-focusable=true, window-focus=true,

is-focused=false, is-focusable=true, 启用=true, 选择=false,

is-layout-requested=false, 文本=Hello!,

root-is-layout-requested=false, X=0.0, Y=0.0, child-count=1}

****MATCHES****

当处理复杂的视图层次或意料之外的行为是很有用的小部件使用安卓视图层次

观众解释.

AdapterView警告

警告使用者曝光率的EspressoAdapterView小部件.当onView()操作将抛出一个NoMatchingViewException和AdapterView小部件视图层次中存在, 最常见的办法就是用onData()异常消息将包括. 警告列表视图的适配器.你可以使用该信

息来调用基于视图的用于加载目标.

Espresso备忘单

的Espresso备忘单你是一个快速参考期间可以使用的发展.这样骗人版票最可

用Matchers,ViewActions和ViewAssertions.

也离线版本的 PDF 版本如下:意式Espresso小抄 - 2.1. 0.pdf

Espresso意图

?意式Espresso意图下载

?intentstestrule

?验证意图

?清除意图

?意图匹配器

意式Espresso扩展目的的意式咖啡 (Espresso) 的验证和意图能够清除由应用程序发送.这就像Mockito安卓, 但意图.

意式Espresso意图下载

?请确保已安装储存库 Android 的支持(见指令).

?打开应用程序build.gradle文件.通常不是顶级build.gradle但文件app/build.gradle.

添加以下行内部相依性:

androidtestcompile "com.android. support.test. Espresso 咖啡: 浓缩 - 意图: 2.2. 1

意式EspressoEspresso意图只与一般 HDMI 兼容支持库测试 2.1 和 0.3 所以确保你更新这些线:

androidtestcompile "com.android. support.test:: 0.4. 1 androidtestcompile "com.android. support.test: 规则: 0.4. 1 androidtestcompile "com.android. support.test. Espresso 咖啡: 浓缩 - Core: 2.2. 1

intentstestrule

使用IntentsTestRule而不是ActivityTestRule当使用意式Espresso意

图.IntentsTestRule更能让用户在使用时得心应手意式Espresso意图功能 UI 测试 API.这个类是的延伸ActivityTestRule意式Espresso意图, 它初始化在每个试验之前注释@Test意式Espresso意图并释放每次运行测试之后.活性后终止每个考验, 而这个规则可用于相同的方式ActivityTestRule.

验证意图

意式Espresso意图记录所有意图尝试从应用活动.使用的所要求的 API (表兄Mockito.verify), 你可以断言给定意图.

示例输出验证根本意图:

@ test

公共空隙 validateintentsenttopackage() {

/ / 用户动作导致外部 "电话" 活动.

用户.clickonview(系统.getview(R.ID.amp;));

/ / 使用罐头 recordedintentmatcher 意图解决验证

/ / "电话" 活动.

预期(topackage("com.android.phone"));

}

清除意图

使用 API (表兄的未来Mockito.when), 可以提供一个响应和后号发起的活动startActivity (这特别适用于外部操纵既然我们无法活动的用户接口的深层的活性又不能控制ActivityResult下活动返回测试):

示例性测试意图清除:

@ test

公共空隙 ishandledproperly activityresult _() {

/ / 中构建一个结果, 等准备好再来活动.

意图 resultdata = 新意图();

串 PhoneNumber = "123-345-6789";

resultdata.putextra("phone", PhoneNumber);

activityresult 结果 = 新 activityresult(活性.结果 _ OK, resultdata);

/ / 设置清除结果当意图派人来 "接触".

打算(topackage("com.android.contacts")).respondwith(结果));

/ / 用户动作导致 "接触" 活动.

/ / PhoneNumber 预计发射返回活性显示在该屏幕上的对应部分.

onview(withID 的(R.ID.pickbutton)).执行(点击());

/ / 我们断言, 研究并提出了区域抗旱减灾的数据.

onview(withID 的(R.ID.PhoneNumber).检查(匹配

(withtext(PhoneNumber)));

}

意图匹配器

intending和intended方法对例 HamcrestMatcher作为参数.Hamcrest 匹配器的对象是图书馆 (也称为谓词或约束).你有这些选项: * 匹配器使用现有意图: 最简单的选择, 在大多数情况下, 应该优选的. * 匹配器实现自己的意图: 最灵活的选择, (参见, 请您按 "反战者国际匹配器自定义汀 "Hamcrest 教程)

示例意图意向书与现有验证匹配器:

预期(所有(

hasaction(等于(意图.行动 _ view)),

hascategories(hasitem(等于(意图.类别可浏览 _))),

hasdata(hashost(等于("https://www.doczj.com/doc/601032800.html,"))),

hasextras(所有(

hasentry(等于("key1"), 等于("value1")),

hasentry(等于("key2"), 等于("value2"的性态,

topackage("com.android.browser")));

前寄样品Espresso

?查看下一个匹配另一种意见认为

?基于匹配数据使用和定制 viewmatcher

?匹配的特定的的视场

?匹配的视图在列表视图中不需使用页脚 / 报头

?匹配内部的视图列即可

?一个观众没有声称显示

?断言不存在视图的

?表示政府的 "中无数据适配器

?使用自定义资源同步 registeridlingresource

?使用自定义失败处理机

?目标配合使用非默认 Windows

viewmatchers

查看下一个匹配另一种意见认为

布局可以包含某些视图不唯一的 (例如重复调用按钮表具有相同的联系人的r.id, 和包含相同文本具有相同的特性其他视图层次内呼叫按钮).

例如, 在本练习中, 该图用文本 "7" 跨多个重复行:

通常, 非唯一视图将一些独特的音乐与它紧邻办公大楼 (例如联系人的名字在呼叫按钮旁边).在这种情况下, 您可以使用匹配器 hassibling 缩小您选择:

onview(所有(withtext("7"), hassibling(withtext("item: 0"的性态

.执行(点击());

基于匹配数据使用和定制 viewmatcher

ListView 线下活动包含支持的由simpleadapter, 用来保存数据的每一行Map每个 MAP 具有带有关键字"STR"包含内容 (String,: 消息: "X") 和钥匙"LEN"包含整数, 内容的长度.

代码的点击行: 消息: "50" 看起来像这样:

基于(所有(是(instanceof(地图.类)), hasentry(等于("STR"), 是("item: 50")))

.执行(点击());

让我们剖析Matcher内部onData:

是(instanceof(地图.类))

缩小搜索 adapterview 的任何项目, 该片段地图是.

在我们情况中, 这是列表视图的每一行, 但我们希望我们的点击特别: 消息: "50", 所以我们你可以缩小搜索范围:

hasentry(等于("STR"), 是("item: 50"))

这对响应进行匹配器, 对象会匹配任何 > 项映射, 该映射包含任何键和值 = "项目: 50".作为代码来查找相当长时间以后我们想重新使用它在其它位置 - 让我们编写一个定制的 "withitemcontent" 匹配器.

返回新 boundedmatcher<对象, 地图> (地图.类) {

@ Override

公共布尔 matchessafely(地图地图) {

返回 hasentry(等于("STR"), itemtextmatcher).匹配(地图);

}

@ Override

公共空隙 describeto(描述描述) {

描述.appendtext("with item content: ");

itemtextmatcher.describeto(描述);

}

};

}

我们使用BoundedMatcher基座, 因为我们希望只能够匹配对象类Map覆盖我们. matchessafely 办法, 将匹配器在匹配我们提早发现其Matcher, 可

以作为参数传入,.这允许我们withItemContent(equalTo("foo")). 简洁代码, 我们创建另一个匹配器 (matcher), 等于已经和我们是否接受一个字符串.

公共静态匹配器<对象> withitemcontent(串 expectedtext) {

checknotnull(expectedtext);

返回 withitemcontent(等于(expectedtext));

}

现在点击代码项目很简单:

基于(withitemcontent("item: 50")) .执行(点击());

完整代码该测试, 看看# testclickonitem50 adapterviewtest和自定义匹配器.

匹配的特定的的视场

上述问题样品中产生喀嚓音的中间的整行 ListView.但是如果我们想操作特定为行的子元素?例如, 您会对喜欢点击第二列上的列的 longlistactivity, 显

示String.length的第一行 (使这个不是抽象的, 你可以想象应用程序, 展示了 G 注释列表每个评论都有和它旁边的键, 1):

只要添加相应的onChildView你规范DataInteraction:

基于(withitemcontent("item: 60"))

.onchildview(withID 的(R.ID.项目 _ size))

.执行(点击());

注此示例使用: "样品" withitemcontent 匹配器从它的上面. 多深的海洋看看# apdaterviewtest testclickonspecificchildofrow60!

匹配的视图在列表视图中不需使用页脚 / 报头

页眉和页脚添加到列表视图 / addheaderview addfooterview 经由

API.Espresso.ondata 启动它们使用, 请确保设置的数据对象 (第二个参数) 为一个预设值.例如:

公共静态最终串页脚 = "FOOTER";

...

视图 footerview = layoutinflater.充气(R.布局._ 项目列表, ListView, false);

((TextView) footerview.findviewbyid(R.ID._ 项目内

容)).setText("count:");

((TextView) footerview.findviewbyid(R.ID.项目 _

size)).setText(串.function valueOf() {

[native code]

}(数据.尺寸()));

ListView.addfooterview(footerview, 页脚, true);

然后, 您可以编写一个匹配器 (matcher), 和这件对象:

进口静态 org.Hamcrest.匹配器.所有;

进口静态 org.Hamcrest.匹配器.instanceof;

进口静态 org.Hamcrest.匹配器.是;

@ suppresswarnings("unchecked")

公共静态匹配器<对象> isfooter() {

返回所有(是(instanceof(串.类)), 是(longlistactivity.页脚));

}

视图和加载测试很简单:

进口静态 com.谷歌.安卓.应用程序.共同.测试.UI.Espresso.Espresso.基于; 进口静态 com.谷歌.安卓.应用程序.共同.测试.UI.Espresso.行

动.viewactions.点击;

进口静态 com.谷歌.安卓.应用程序.共同.测试.UI.Espresso.样

品.longlistmatchers.isfooter;

公共空隙 testclickfooter() {

基于(isfooter())

.执行(点击());

...

}

随便看看, 这是在代码示例:# testclickfooter adapterviewtest

匹配内部的视图列即可

的actionbartestactivity具有两个不同动作条: 正常和上下文动作列即可创建的杆选项菜单杆行动. 有一个项目, 总是可见的, 并且两个项目才是能看见的溢流菜单.当项目被单击时, 它改变 TextView 点击的内容项目.

可见匹配图标上动作条很容易:

公共空隙 testclickactionbaritem() {

/ / 我们确保上下文动作工具栏是隐藏的.

onview(withID 的(R.ID.隐藏 _ action _ 上下文 _ bar))

.执行(点击());

/ / 点击图标帮忙我俩能找到由 r.id.

onview(withID 的(R.ID.行动 _ save))

.执行(点击());

Anroid开发环境搭建实验报告

实验一A n d r o i d开发环境搭建 一、实验内容 1)了解Android开发所需要的开发包和工具,以及获得它们的方式; 2)下载、安装和配置Android开发包; 3)测试安装的开发环境,创建了一个Android项目; 4)在模拟器上运行和调试Android应用程序,并将该应用程序安装到Android手 机上。 二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Android的系统架构、Android应用程序框架; 2、参考《Android应用开发揭秘》的第二章,从FTP上下载java JDK和Eclipse 放在安装目录下,Eclipse直接将下载的压缩包解压即可。对于JDK双击安装,然后对java的开发环境进行配置:设置环境变量创建“Path”变量名,添加JDK安装目录中“bin”文件夹路径;创建“CLASSPATH”变量,添加JDK安装目录中“lib”以及“demo”的路径;最后进行测试是否安装成功。 4、安装完成后配置Android SDK,将Android SDK安装目录中的tools文件夹路径添加到环境变量中,更改系统变量中的“Path”项,添加路径: 5、安装和配置ADT,参照Android应用开发秘籍,启动Eclipse,点击“Help”菜单,按照步骤,在“Add Site…”之后,文本框里输入地址。打开菜单“Windows”,依次选择“Preferences”->“Android”,点击浏览选择Android SDK的安装路径,点击OK;然后打开菜单“File”,如下图查看得安装配置成功。 6、创建第一个Android项目HelloAndroid,新建项目,选择“Android Application Project”子项,如图。在“Project name”文本框输入“HelloAndroid”,“Build Target”选项框中选择“Android SDK ”,依次完成项目的设置,如下图。 HelloAndroid项目创建好,由ADT插件自动生成,可以运行。 7、运行HelloAndroid,使用Android仿真模拟器。选择Window,打开AVD Manager,新建一个AVD,选择API的等级为API 10,,填写SD卡的大小为2G,如图。 8、运行HelloAndroid项目 9、调试HelloAndroid项目,首先将Eclipse开发工具的工作界面切换到DDMS: 10、实验过程中发现的问题以及解决问题的方法 在安装Android SDK的时候,遇到信息“Failed to fetch URL…”的错误提示,然后将HTTPS方式改为HTTP方式,问题就解决了。

android自动化测试之道

Android自动化测试之道 文/杨丰盛 随着越来越多的手机厂商、运营商、开发商加入android阵营,带来了各种美化和定制的android系统,同时android market应用数量增长迅速。这都离不开测试,android 自动化测试的需求愈加迫切。 测试主要分为白盒测试和黑盒测试两大类。Android虽然在测试方面还不够完善,但也提供了各种途径来完成相应的测试模块。白盒测试通常需要配合软件的源码来进行,测试人员须根据产品的功能和性能等需求编写测试用例,并根据测试用例逐一进行测试。这里我们主要探讨在没有源码的情况下如何进行黑盒测试。既然没有源码,那么我们就需要使用android所提供的工具包来获取应用程序上的各种UI元素,并向其发送各种操作事项。此外,我们还可以借助各种开源项目,比如ASE等。下面分别介绍几种目前最可行的自动化测试解决方案。 Android兼容性测试 Android的各个版本之间都有不同程度的差异,因此google专门针对各个版本(android2.1以上)提供了兼容性测试工具CTS(compatibility test suite),其中共有两万多个测试用例,包括功能测试和性能测试等。CTS最初只对OHA联盟开放,后来便和android开源项目一起发布了,并且所有手持设备都必须通过android兼容性测试,才能确保在android上开发的应用程序能够在android设备上运行,才能使用android market。 要使用CTS进行兼容性测试,就必须先下载和编译CTS,下载方式可以选择下载完整的android源码(位于$ANDROID/cts目录中)和只下载CTS源码(注:CTS源码下载地址为git://https://www.doczj.com/doc/601032800.html,/platform/cts.git);然后可以使用如下命令来编译CTS: //配置选项 $ build/envsetup.sh //编译cts $ make cts 编译完成之后会将结果输出到“$ANDROID/out/host/linux-x86/”目录中,然后可以启动模拟器或手持设备(需使用root权限来操作),并进入其bin目录。使用“./cts” 命令来启动CTS测试,显示CTS测试版本和设备连接状态,这时可以输入“help”命令来查看CTS的操作帮助信息。 如果输入“ls--plan”命令可以查看所有的plan(注:plan文件夹为cts/android-cts/repository/plans),在其中可以看到8个测试基类,比如android.xml、appsecurity.xml、CTS.xml等。其中所有基类里包含的package都给出了相应的uri,cts 将根据这些uri去测试每个基类里的package,可以输入如下一些命令来测试某些

Sofia3gr平台_Android5.1_CTS_产品测试环境搭建V1

福州瑞芯微电子有限公司密级状态:绝密( ) 秘密( ) 内部( √ ) 公开( ) Sofia3GR平台A ndroid5.1_CTS 产品测试说明 (系统产品二部) 文件状态:[ ] 正在修改[√] 正式发布当前版本:V1.1 作者:hxw 完成日期:2015-09-03 审核: 完成日期: 福州瑞芯微电子有限公司 Fuzhou Rockchips Semiconductor Co . , Ltd (版本所有,翻版必究)

1简述 本文档介绍Sofia3GR平台Android 5.1 的GMS测试,包括Android 5.1工程配置,CTS、GTS、Verifier测试fail项补丁,GMS要求相关细节说明,以及测试环境搭建及机器配置,若有存在其他问题,欢迎反馈,我们会尽快进行补充。 2Android 5.1 GMS 工程配置 2.1集成DRM、GMS 包 1)确保widvine level3 drm包被编译 diff --git a/device.mk b/device.mk index 7df0cb7..5d794b6 100755 --- a/device.mk +++ b/device.mk @@ -16,9 +16,26 @@ # Oct 20, 2013: Initial Creation for Sofia3G # May 27 2014: IMC: add IMC test tools for engineering build +$(call inherit-product-if-exists, vendor/widevine/widevine.mk) # Screen size is "normal", density is "mdpi" PRODUCT_AAPT_CONFIG := normal large mdpi tvdpi hdpi 2)确保GMS 包编译: GMS 包SDK 默认是不带的,请向认证公司索取最新的GMS 包,解压后放在:vendor/google 目录下 在/device/rockchip/sofia3gr/BoardConfig.mk 中将以下两项设为true # google apps BUILD_WITH_GOOGLE_MARKET ?= true BUILD_WITH_GOOGLE_MARKET_ALL ?= true 2.2合并分区、hardware features配置 1)合并分区,在/device/rockchip/sofia3gr/BoardConfig.mk 中 #if set to true m-user would be disabled and UMS enabled, if set to disable UMS would be disabled and m-user enabled -BUILD_WITH_UMS := true +BUILD_WITH_UMS := false 2)Sensor编译配置,根据产品sensor list在/device/rockchip/sofia3gr/BoardConfig.mk 如下代码块中做正确配置: # Enabling sensors BOARD_SENSOR_MPU := false #if use mpu

测试环境搭建方案

各种缺陷管理工具比较 mantis 1.概述 缺陷管理平台Mantis,也做MantisBT,全称Mantis Bug Tracker。Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上、实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。 Mantis是一个缺陷跟踪系统具有多特性包括:易于安装,易于操作,基于Web,支持任何可运行PHP的平台(Windows,Linux,Mac,Solaris,AS400/i5等)。已经被翻译成68种语言,支持多个项目,为每一个项目设置不同的用户访问级别,跟踪缺陷变更历史,定制我的视图页面,提供全文搜索功能,内置报表生成功能(包括图形报表),通过Email报告缺陷,用户可以监视特殊的Bug,附件可以保存在web服务器上或数据库中(还可以备份到FTP服务器上),自定义缺陷处理工作流,支持输出格包括csv、MicrosoftExcel、MicrosoftWord,集成源代码控制(SVN与CVS),集成wiki知识库与聊天工具(可选/可不选),支持多种数据库(MySQL、MSSQL、PostgreSQL、Oracle、DB2),提供WebService(SOAP)接口,提供Wap访问。 2 .优点 1,流程定制方便且符合标准,满足一般的缺陷跟踪; 2,安装简单; 3 .缺点 1.只能简单的对缺陷进行管理,不能管理整个测试流程:测试需求-测试计 划-测试案例-执行测试案例-提交缺陷-测试总结报告;

2.界面比较简单,有些功能不能实现(如上传附件) QC 1.概述 Quality Center 是一个基于Java 2 Enterprise Edition (J2EE) 技术的企业级应用程序。Quality Center 可以帮助您组织和管理应用程序测试流程的所有阶段,包括制定测试需求,计划测试,执行测试和跟踪缺陷。 2.优点 1,QC能够帮助你组织和管理软件测试过程的每个阶段,包括测试需求管理、测试计划、测试案例、测试执行和缺陷跟踪。 2,QC执行对测试用例执行统计情况,对bug的统计,分析等功能比较强大; 3.缺点 1,安装比较复杂 2,收费软件。 JIRA 1.概述 JIRA是集项目计划、任务分配、需求管理、错误跟踪于一体的商业软件。JIRA创建的问题类型包括New Feature(新功能)、Bug、Task(任务)和Improvement(增加或修改)四种,还可以自己定义,所以它也一是过程管理系统。JIRA融合了项目管理、任务管理和缺陷管理,许多著名的开源项目都采用了JIRA。

windowsXP下Android安卓开发环境搭建详细教程及图解

注:本教程是讲解在Windows XP下搭建安卓开发环境的。 安装目录: 步骤1 安装JDK 步骤2 安装Android SDK 步骤3 安装Tomcat 步骤4 安装Ant 步骤5 安装Eclipse 步骤6 安装Eclipse的ADT插件 步骤7 在图形界面下管理AVD 步骤8 设置Android系统语言 本教程的软件可以从我博客“绿杨芳草”下载。 方法/步骤 1、安装JDK 运行安装程序【jdk-6u22-windows-i586-p.exe】,分别点击下一步进行安装。 在安装过程中先后会出现两次选择安装目录的界面,全部改为以下路径: jdk安装目录:C:\Java\jdk1.6.0_22 jre安装目录:C:\Java\jre6\

安装好之后,配置环境变量: 打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。 在上方的用户变量中依次新建如下变量,并分别填入如下路径: 变量名:JAVA_HOME 变量值:C:\Java\jdk1.6.0_22 变量名:PATH 变量值:%JAVA_HOME%/bin 变量名:CLASSPATH 变量值:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar 图1 配置完成之后,分别点击【开始】--【运行】--输入【cmd】--输入【javac】--按【回车键】,若看到以下信息,则代表配置成功。

图2 2、安装Android SDK 将【android-sdk_r17-windows.zip】解压到E:\Android目录下(Android目录自己新建,以后所有关于Android开发相关软件都会统一放到该目录中),得到一个android-sdk-windows 文件夹,该文件夹包含如下文件结构: add-ons:该目录下存放额外的附件软件。刚解压后,该目录为空。 platforms:该目录下存放不同版本的Android版本。刚解压后,该目录为空。 tools:该目录下存放了大量Android开发、调试的工具。 SDK Manager.exe:该程序就是Android SDK和AVD(Android虚拟设备)管理器。 通过该工具可以管理Android SDK和AVD。 运行E:\Android\android-sdk-windows目录下的【SDK Manager.exe】 然后等待更新...(该步骤必须联网,因为SDK安装包需要在线获取)。 在更新的过程中若遇到如下的提示窗口:

测试环境搭建及测试基础

测试环境搭建及测试基础 一、建立测试环境 用来进行单板测试的房间需要具备以下条件: 1、尽量独立一个房间,因为测试中很容易受到其他设备的干扰; 2、如果需要准确测试的电压低于1mV,必须对房间进行金属屏蔽; 3、房间必须有独立接地系统接往本层楼层保护地入口; 4、房间必须有接地汇流排,截面积不得小于6平方毫米; 5、房间最好有独立的防静电地; 6、房间交流电源必须使用两路总空气开关,一路供测试设备使用,一路供EUT 使用,防止EUT故障引起断电,导致测试设备需要多次重启; 7、测试房间必须至少具备1台隔离变压器; 8、测试设备带宽高于500MHz的位置,房间必须设有EPA区; 9、有EPA区的房间必须设置人体电阻测试仪和防静电鞋帽; 10、测试人员在测试实验室必须遵守ESD防护程序; 11、待测设备要有“正在测试”的警示标牌; 12、放置待测设备和测试仪器的桌面必须铺设防静电台布,和手腕带接地插座; 13、测试实验室必须对不同的测试范围划定功能区,固定测试设备位置,制定设备责任人,放置实验设备和配件移动导致结果实验错误; 14、不同测试平台之间不能共用接地汇流排。 设备摆放参考以下: 配电方式建议如下,采用专用地线、零、火线,降低同楼层干扰。 二、示波器选择与使用要求: 1、测里前保证测试仪器(仪表)和被测单板或系统共地。如果不共地,地线浮空,可能会得到错误的测试结果; 2、测里前需要校准仪器; 3、为确保测试数据的精度,应尽举采用高输入阻抗、小电容值、高带宽的有源探头和高带宽的示波器;

4、示波器的带宽:描述了示波器固有的上升时间(即时延)。探头和示波器的带宽要超过信号带宽的3-5倍以上; 5、示波器的采样速率:表示为样点数每秒〔S/s ),指数字示波器对信号采样的频率。为了准确再现信号,根据香农(Shannon )定律,示波器的采样速率至少需为信号最高频率成分的2信; 6、程应尽星小,波形尽量展开,以方使观察波形变化的细节,并准确测量其幅值; 7、测量信号边沿时,应选用合适的边沿触发; 8、高档示波器都具有毛刺捕捉模式,可以用于捕捉毛刺; 三、探头选择与使用要求: 1、不允许在探头还连接着被测试电路时插拔探头; 2、有源探头和差分探头、电流探头等是很昂贵的设备,注意保护。插拔探头时必须先关示波器。无源探头一般没有硬性规定,但是出于可靠考虑,建议所有探头都不能热插拔,热插拔任何探头时都必须先关闭示波器; 3、探头地线只能接电路板上的地线,不可以搭接在电路板的正、负电源端。否则,可能会造成电路板器件损坏,甚至会烧坏探头的小夹子和探头木身; 4、探头电容越小,它对对电路的负载就越小,测试结果就更精确。选用时请根据情况仔细考虑; 5、探头是有测量幅度的,不要用于测大信号,以免造成探头损坏。例如:信号幅度超过+/-40V时,用有源探头P6245和P6243测量会造成探头的损坏; 6、差分探头能够测量差分电压范围是有限的。例如,差分探头P6247,其上的开关打在÷10档位时,能测的差分电压范围是+/ V,打在÷1档位时只有+/-850mV 差分信号峰峰值超过850rnV时(比如测公司常用的平衡线传输信号+/-5V),要注意选用÷10档,否则会因输入过大而使显示的波形发生错误; 7、使用电流探头需先校准。每测试一个信号都需要校准一次; 8、使用时,探针尽量垂直于测试表面。但不可用力按压,以免探针受损; 四、测试点的选择: 1、一般只测试单板接收到的信号,不测试发送的信号; 2、信号质量测试点要求在信号在末端测量〔根据当前信号流向决定测试点)。尽里在芯片的输 入管脚上测量,或者尽量靠近输入管脚;

在Eclipse下搭建Android开发环境教程

在Eclipse下搭建Android开发环境教程 本文将全程演示Android开发环境的搭建过程,无需配置环境变量。所有软件都是写该文章时最新版本,希望大家喜欢。 我们昨天向各位介绍了《在NetBeans上搭建Android SDK环境》,前不久也介绍过《在MyEclipse 8.6上搭建Android开发环境》,都受到了读者的欢迎。但是很多朋友都认为NetBeans在中国用户不多,MyEclipse 又是收费产品,都没有Eclipse好,很多读者都希望我们介绍一下Eclipse下搭建的Android开发环境,本文将全程演示Android开发环境的搭建过程,无需配置环境变量。所有软件都是写该文章时最新版本,希望大家喜欢。 一相关下载 (1)Java JDK下载: 进入该网页: https://www.doczj.com/doc/601032800.html,/javase/downloads/index.jsp (或者直接点击下载)如下图: 选择 Download JDK 只下载JDK,无需下载jre. (2)Eclipse下载 进入该网页: https://www.doczj.com/doc/601032800.html,/downloads/ (或者直接点击下载:BT下载 HTTP下载)如下图:

我们选择第一个(即eclipse IDE for java EE Developers) (3)下载Android SDK 说明: Android SDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK 版本,后一种大概20多M,前一种70多M。 完全版下载 (android sdk 2.1 r01) 升级版下载 (建议使用这个,本例子就是使用这个这里面不包含具体版本,想要什么版本在Eclipse里面升级就行) 二软件安装 (1)安装jdk 6u19安装完成即可,无需配置环境变量 (2)解压eclipse eclipse无需安装,解压后,直接打开就行 (3)解压android sdk 这个也无需安装,解压后供后面使用 (4)最终有三个文件夹,如下图:

实验五、安卓系统应用开发环境搭建实验

实验五、安卓系统应用开发环境搭建实验 1、实验目的 1. 熟悉并掌握Android应用程序开发的搭建 2. 熟悉Android应用程序开发环境 3. 熟悉并掌握Android应用程序的开发 2、实验仪器设备 1.CVT-S5PV210嵌入式系统实验箱1套 2.PC机1台 3、实验原理 1、Android SDK Android SDK(Software Development Kit)提供了在Windows/Linux/Mac平台上开发Android应用的一系列开发组件,同时包含了在Android平台上开发移动应用的各种工具集。Android SDK包含各种各样的定制工具,其中最重要的工具是Android模拟器和eclipse的Android开发工具插件(ADT) Android SDK 主要是以Java 语言为基础,用户可以使用Java 语言来开发Android 平台上的应用软件。通过SDK 提供的一些工具将其打包成Android 平台使用的apk 文件,然后用SDK 中的模拟器(Emulator)来模拟和测试软件在Android 平台上运行情况和效果。SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK 指的既是Android 专属的软件开发工具包。 2) Eclipse Eclipse 是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java 开发工具(Java Development Kit,JDK)。 虽然大多数用户很乐于将Eclipse 当作Java 集成开发环境(IDE)来使用,但Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse 的软件开发人员,因为它允许他们构建与Eclipse 环境无缝集成的工具。由于Eclipse 中的每样东西都是插件,对于给Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

华为Android(Java)软件开发测试

华为Android(Java)软件开发测试 专业培养方向及课程设置 培训目标 本大纲是根据华为技术及相关外包企业文思创新、软通动力、中软国际、东南融通、易思博、华胜天成等企业用人新的特点和技术走向,制定出的适合企业岗位需求培训计划,培训出胜任软件测试与Java(Android)开发的综合技能的程序人员。 培训模块(各模块训练顺序根据企业需求安排): 模块一、JavaSE模块; 模块二、Linux/C模块及基于Linux的Java开发; 模块三、JavaEE模块1:Struts架构; 模块四、华为软件测试模块; 模块五、JavaEE模块2:Hibernate、Spring等主流框架; 模块六、Android技术及功能模块开发; 模块七、软件工程(CMMI)与数据库; 模块八、项目开发(因企业需求而变化); 模块九、职业规划与素质训练。 模块一、JavaSE模块 1、Java体系和JDK安装 2、Eclipse开发环境与面向对象初级(类、对象、包) 3、Java语法详解: 变量的声明、关键字和类型,enum类型、变量作用域、表达式和流程控制for each、数组、多维数组、可变参数,数组拷贝,Java编码规范) 继承(继承、多态、访问控制、方法覆盖、方法重载、实例化顺序、垃圾收集,this,super,instanceof ,Object 类的介绍),面向对象高级(static,static import,单实例模式,final,抽象类、接口、克隆,内部类、匿名类,异常处理,自定义异常,异常与方法覆盖的关系) ,Java SE 基础API(Collection集合框架,泛型、排序,控制台应用程序开发Scanner,Console、swing组件开发,文件与IO) ,Java SE 高级API(Thread 多线程、Socket 网络,结合Swing做多用户C/S通讯系统的综合应用) 4、数据结构与算法: 链表、堆栈、队列、树等;常用排序算法(冒泡,选择,插入,快速,shell排序) 5、JDBC 技术: JDBC Driver加载原理、JDBC初级API、JDBC高级API、调用存储过程、事务处理、批处理、操作CLOB/BLOB数据类型、RowSet。 模块二、Linux/C模块及基于Linux的Java开发 1、C语言模块 面向过程的结构化程序设计方法/C语言常量,变量,类型,表达式/函数和函数调用/指针与数组/数据结构基础及指针使用技巧/自定义数据类型,结构,枚举,联合/位字段与位检测/查找、排序/C语言实现/C语言输入输出、文件操作 2、Linux模块 Linux简介、安装\Linux文件系统\ Linux常用命令\Linux启动过程详解\Shell编

测试环境搭建与部署

测试环境搭建与部署 1.目的 1.1.为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。稳定 和可控的测试环境,可以使测试人员花费较少的时间就完成测试用例的执行,无需为测试用例、测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时候被准确的重现。 2.适用范围 2.1.硬件环境搭建:指测试必须的服务器、客户端、网络连接设备以及打印机/扫描仪等辅助 设备所构成的环境;若要求的硬件配置种类较多,可以定义一些基本硬件配置; 2.2.软件环境搭建:指测试软件运行时的操作系统、数据库及其他应用软件构成的环境;2. 3.利用辅助测试环境进行的测试: 兼容性测试:在满足软件运行要求的范围内,可选择一些典型的操作系统和常用应用软件对其进行主要功能的验证。 2.4.网络环境:指被测软件运行时的网络系统、网络结构以及其他网络设备构成的环境、网 络设备、网络结构、网络系统等。 2.5.对测试环境的要求: 尽可能真实的环境 符合软件运行的最低要求 选用比较普及的操作系统和软件平台 营造纯净、独立的测试环境 无毒的环境 3.术语和定义 无 4.职责 4.1.技术部测试组成员 4.1.1.负载规划、建立和维护软件测试管理流程并持续优化 4.1.2.组织环境搭建工作的实施 4.1.3.在搭建环境中进行的工作分批写入测试用例和测试报告中 4.1.4.对应环境中发现的问题及时反馈并追踪

5.部署和管理测试环境 5.1.确定测试环境的组成 5.1.1.所需要的计算机的数量,以及对每台计算机的硬件配置要求,包括CPU的速度、内存 和硬盘的容量、网卡所支持的速度、打印机的型号等; 5.1.2.部署被测应用的服务器所必需的操作系统、数据库管理系统、中间件、WEB服务器以 及其他必需组件的名称、版本,以及所要用到的相关补丁的版本; 5.1.3.用来保存各种测试工作中生成的文档和数据的服务器所必需的操作系统、数据库管理 系统、中间件、WEB服务器以及其他必需组件的名称、版本,以及所要用到的相关补丁的版本; 5.1.4.用来执行测试工作的计算机所必需的操作系统、数据库管理系统、中间件、WEB服务 器以及其他必需组件的名称、版本,以及所要用到的相关补丁的版本; 5.1.5.是否需要专门的计算机用于被测应用的服务器环境和测试管理服务器的环境的备份; 5.1. 6.测试中所需要使用的网络环境。例如,如果测试结果同接入Internet的线路的稳定 性有关,那么应该考虑为测试环境租用单独的线路;如果测试结果与局域网内的网络速度有关,那么应该保证计算机的网卡、网线以及用到的集线器、交换机都不会成为瓶颈; 5.2.管理测试环境 5.2.1.设置专门的测试环境管理员角色:职责包括:测试环境的搭建。包括操作系统、数据 库、中间件、WEB服务器等必须软件的安装,配置,并做好各项安装、配置手册的编写; 记录组成测试环境的各台机器的硬件配置、IP地址、端口配置、机器的具体用途,以及当前网络环境的情况;测试环境各项变更的执行及记录;测试环境的备份及恢复;操作系统、数据库、中间件、WEB服务器以及被测应用中所需的各用户名、密码以及权限的管理; 5.2.2.记录好测试环境管理所需的各种文档:测试环境的各台机器的硬件环境文档,测试环 境的备份和恢复方法手册,并记录每次备份的时间、备份人、备份原因以及所形成的备份文件的文件名和获取方式;用户权限管理文档,记录访问操作系统、数据库、中间件、WEB服务器以及被测应用时所需的各种用户名、密码以及各用户的权限,并对每次变更进行记录; 5.2.3.测试环境访问权限的管理:为每个访问测试环境的测试人员和开发人员设置单独的用 户名和密码。访问操作系统、数据库、WEB服务器以及被测应用等所需的各种用户名、密码、权限,由测试环境管理员统一管理;测试环境管理员拥有全部的权限,开发人员

android5.0初学者之开发环境搭建

1.JDK下载及安装 1.1进入下载首页,找到JDK,点击下载。 https://www.doczj.com/doc/601032800.html,/technetwork/java/javase/downloads/index-jsp-138363.html Java Platform, Standard Edition之Java SE 8u25 includes: JDK (Java SE Development Kit); Server JRE (Server Java Runtime Environment); JRE (Java SE Runtime Environment); 点击“JDK下载”后进入下载页面: https://www.doczj.com/doc/601032800.html,/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 勾选” A ccept License Agreement ” 后选择对应的JDK版本号,此处选择

1.2 下载完成后,双击安装。 默认安装路径为:C:\Program Files\Java\jdk1.8.0_25\和 C:\Program Files\Java\jre1.8.0_25\ 安装完成后按如下步骤添加环境变量:

步骤1:“开始”---> “计算机”---> “属性”打开如下窗口 “高级系统设置”---> “高级”---> “环境变量”打开环境变量配置窗口。 步骤2:在环境变量配置窗口中新建“系统变量”, 变量名:JAVA_HOME变量值:C:\Program Files\Java\jdk1.8.0_25 变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 编辑变量名为Path的环境变量的变量值,在原有基础上添加jdk1.8.0_25\bin路径和Android SDK的tools和platform-tools的文件夹路径。 ;C:\Program Files\Java\jdk1.8.0_25\bin;E:\Java\adt-bundle-windows-x86-20140702\sdk\tools;E:\Java\adt-bundle-windows-x86-20140702\sdk\platform-tools

Android_自动化测试

Android自动化测试初探-1:捕获Activity上的Element 第一部分:前言 Android系统下应用程序的测试现在应该还算是个新的领域,网上关于这方面的资料很多都是基于白盒测试的,一般都是基于JUnit框架和Android SDK中android.test等命名空间下的内容进行,但是有一个前提,那就是必须要有应用程序的源代码以提供测试接入点,但是这在很多软件公司中是不现实的。很多测试工程师做的工作是完全黑盒,基本接触不到源代码,白盒测试大部分也是由开发自己完成。 回顾一下Windows下的黑盒测试自动化,先前使用的是微软提供的基于.net framework的UI Automation自动化测试框架(要求版本在.net framework3.0以上,即https://www.doczj.com/doc/601032800.html, 2008开发环境),对与擅长C#语言的人来说,使用起来确认比较好用。本人也写了基于UI Automation的轻量级的自动化框架,将在以后的博文中引出。 那在Android操作系统中能不能做类似于UI Automation的事情呢?不幸的是,Android的权限控制分的非常清楚,不同程序之间的数据访问只能通过Intent,content provider类似的功能实现。也就是说你开发的运行在Android中的自动化程序想要捕获当前运行的AUT(Application under Test)界面上的控件等Element(该术语引自UI Automation,觉得翻译成元素有点生硬,故不作翻译)基本不可能,你也拿不到当前active activity的引用(截止本文发帖为止,个人暂时没有找到办法获得此引用)。 无路可走了?模拟器里面不能走,外面能不能走?或许可以。 第二部分:捕获Activity上的Element 在Android的SDK中自带了一个对自动化测试比较有用的工具:hierarchyviewer(位于SDK的tools目录下)。在模拟器运行的情况下,使用该工具可以将当前的Activity上的Element以对象树的形式展现出来,每个Element所含的属性也能一一尽显。这有点像Windows上运行的UI SPY,唯一遗憾的是不支持事件的触发。不过没有关系,可以想办法绕,当务之急是能在自行编写的自动化测试代码里找到Activity上的Element。 第一个想到的办法就是看hierarchyviewer源码,不巧,网上搜了一下,没有资源。或许Google的官网上有,但是上不去。看来只能反编译了,找来XJad,暴力之。虽然反编译出来的代码很多地方提示缺少import,但代码基本上是正确的。看了一下,确实也知道了许多。后来在编写代码的过程中,确实也证明了如果想引用hierarchyviewer.jar这个包并调试,还是需要知道里面的一些设置的。 创建基于hierarchyviewer.jar这个包的调用,需要将它和另外两个包,ddmlib.jar(在hierarchyviewer.jar同级目录中有)和org-netbeans-api-visual.jar(需要下载并安装netbeans,在其安装目录中有)一并导入到工程项目中,因为hierarchyviewer的实现依附于这两个包。 想在代码中获取Activity上的Element需要进行如下几个步骤(如果使用过hierarchyviewer这个工具后会发现,自动化代码所要写的就是该工具上的使用步骤):

Android测试环境搭建

基本安装 一、Java JDK 1、Java JDK下载: 网页: https://www.doczj.com/doc/601032800.html,/javase/downloads/index.jsp 选择 Download JDK 只下载JDK,无需下载jre.(因为按照JDK会自动按照jre) 2、JDK 运行 可以不安装在C盘(系统盘) 安装完成后 3、环境变量 如果只是运行eclipse不需要修改环境变量 如果要用到monkeyrunner需要设置环境变量(改系统环境变量),如下 新建系统环境变量JAVA_HOME ,设置为java安装地址"D:\Program Files\java\jdk1.6.0_33" PATH 增加 ";%JAVA_HOME%\bin" CLASSPATH = ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar",没有CLASSPATH需要新增

4、验证环境变量 java-version 如果装在C盘直接运行java-version 二、Eclipse 进入该网页: https://www.doczj.com/doc/601032800.html,/downloads/下载解压缩后放在根目录,不要放在中文文件夹里面三、Android SDK

地址:https://www.doczj.com/doc/601032800.html,/sdk/index.html 说明: Android SDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK版本,后一种大概20多M,前一种70多M。 解压android sdk 这个也无需安装,解压后供后面使用 Eclipse配置 一、安装android 开发插件 (1)打开Eclipse, 在菜单栏上选择 E:\eclipse-java-juno-win32-x86_64\eclipse下,可以创建桌面快捷方式help->Install New SoftWare 出现如下界面:

C#环境下开发Android软件环境搭建_V1.2

C#环境下开发Android软件环境搭建手册 (内部资料请勿外传) 编写:徐维日期:2013-3-18 检查:日期: 沈阳新元信息与测控技术有限公司 版权所有侵权必究

文件修改记录 目录 C#环境下开发Android软件环境搭建手册 (1) 1.引言 (3) 1.1编写目的 (3) 1.2开发优缺点 (3) 2.步骤 (3) 2.1开发环境搭建大体概况 (3) 2.2安装vs2010 (4) 2.3安装jdk-6u4-windows-i586-p.exe (4) 2.4安装adroid-sdk-windows (4) 2.5安装dotNetFx40_Full_x86_x64.exe步骤 (17) 2.6安装Mono的GTK支持包步骤 (18) 2.7安装mono-2.11.3-gtksharp-2.12.11-win32-0.exe步骤 (21) 2.8安装Mono的步骤 (26) 2.9 安装Mono的android步骤 (31) 2.10 FirstMonoDroidApp模拟器运行 (35) 2.11 FirstMonoDroidApp真机运行 (38)

1.引言 1.1编写目的 Android系统一下子铺天盖地而来,让人目不暇接。兴奋的同时也让部分开发人员犯难了!要知道从熟知的Wince,Mobile开发语言C#跨越到RFID_Android的java,可不是一朝一夕就能完成。这就是本个文档编写的目的,用C#开发Android的程序,如果哪天Windows Phone,发达了,那你现在写的很多代码还可以用于WP应用开发!另外,如果你考虑用MonoTouch开发iPhone应用程序,一次写代码,却可以用于三大移动平台,这样方便了代码的可移植性。 1.2开发优缺点 下面,我们通过一个表格对比C#和Java在Android开发的优缺点。 2.步骤 2.1开发环境搭建大体概况 如下:顺序按下面1-7安装 1、安装Microsoft Visual Studio2010专业版 2、安装Java 开发工具: 安装JDK,这里根据需要安装jdk-6u4-windows-i586-p.exe(与既存 的代码的jdk保持相同,对今后的移植有帮助) 3、安装Android SDK: SDK Manager.exe 安装之后还需要用SDK Manager安装API 7,API 8,API 10,API 12,API 15全部或者最少一个或者参考https://www.doczj.com/doc/601032800.html,/forever_crying/article/details/6631428的方法 4、安装微软Dotnet 4.0: dotNetFx40_Full_x86_x64.exe 5、安装Mono的GTK支持包: gtk-sharp-2.12.10.win32.msi 装MonoDevelop要注意,要先装gtk-sharp 需要注意的是Visal Studio Express不能使用这个产品会提示: "VS Express is not supported by this product". 6、安装Mono的开发工具: MonoDevelop-3.0.4.6.msi 7、安装Mono的android开发包: mono-android-4.2.5.264184895.msi 真机部署

Android配置开发环境

1.下载需要用到的工具: (1)下载JAVA的IDE开发工具– Eclipse 到Eclipse官方网站下载Ecplise For Java EE的最新Windows版本 下载页面地址: https://www.doczj.com/doc/601032800.html,/downloads/ 下载Ecplise (2)下载Java开发包— Java SE Development Kit (JDK) JDK 6 到Sun官方网站下载JDK6,选择JDK 6 Update 12 下载页面地址: https://www.doczj.com/doc/601032800.html,/javase/downloads/index.jsp (https://www.doczj.com/doc/601032800.html,/technetwork/java/javase/downloads/index.html)

下载JDK6 (3)下载Android开发包— Android SDK 到Google的官方网站下载Android的开发包For Windows的 下载地址:https://www.doczj.com/doc/601032800.html,/android/android-sdk-windows-1.5_r2.zip 2.下载完需要的工具之后,开始安装 (1)安装Ecplise:下载回来的 Ecplise(eclipse-java-europa-winter-win32.zip)直接解压即可 (2)安装JDK6:运行下载回来的JSK安装包(jdk-6u12-windows-i586-p.exe)一路”下一步”即可(版本可能会有所不同) (3)安装Android开发包(SDK):下载回来的SDK包 (android-sdk-windows-1.5_r2.zip)直接解压即可 3.让Ecplise自动安装Android开发插件(ADT- plugin) (1)启动安装完(解压)后的Ecplise目录下的Ecplise.exe (2)点击菜单”Help”->”Software Updates”,在打开的窗口中切换到选项 页”Availabe Software”

Android4.0开发环境搭建

Android开发环境搭建 在网上找各种解决办法,无奈,都是互相转帖,要错大家一起错,而且都是老版本的安装方法,虽然没有太大差别,但小的差异还是搞得人很头痛,因为有时候就是一点不同就要找好长时间解决方法,我现在把我的安装历程发布出来,供大家分享,当然版本再更新的话我也不能保证就完全正确,只能保证现在的版本完全没问题。因为现在的android版本与原来的版本有一定的区别,所以我在2.2的基础上改了一下,现在可以安装到4.0 安装JDK 这个在上一篇中已经介绍过了,注意JDK的版本为1.5或者1.6都可以就行了,推荐使用1.6版本,因为它要比以前快得多。还有JAVA_HOME的设置。用set JAVA_HOME命令检查一下就行了。 SDK 4.0安装 今年Google离开大陆,导致登陆他们的网站会比较麻烦,一般情况下是登陆不上去的,需要翻墙,大家都懂的,我不多说,如果能登上 https://www.doczj.com/doc/601032800.html,/sdk/index.html那是最好,如果登不上也没关系,能下的地方好多,上百度上搜有很多,而且下载都很快,我下载的是 android-sdk_r07-windows.zip,一下安装也是以它为例。 下载好后,随便解压到一个地方,目录结构如图所示:

此处SDK Manager.exe和以前版本略有区别,以前是SDK Setup.exe,功能都一样,双击它。(我们下载的也不是完整的SDK,只是一个安装SDK的工具) 双击之后我们会看到如下的界面: 左侧是我们要安装的SDK目录,如果你的网络够快而且空间不是特别少的话,选择Accept All,然后Install,开始漫长的在线安装:

相关主题
文本预览
相关文档 最新文档