没有合适的资源?快使用搜索试试~ 我知道了~
AndroidEspresso自动化测试环境搭建.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 178 浏览量
2022-07-13
23:06:15
上传
评论
收藏 875KB PDF 举报
温馨提示
试读
30页
AndroidEspresso自动化测试环境搭建.pdf
资源推荐
资源详情
资源评论
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<mainactivity> 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<? super View> 接口. 你可
以通过一个或多个这些 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:
Java.lang. 抛出 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}
剩余29页未读,继续阅读
资源评论
czq131452007
- 粉丝: 2
- 资源: 12万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- uniapp中tab切换,底部内容跟着移动,相反,底部移动,tab也跟着切换-组件
- 基于JS+TS实现跨平台3D相机控制器-附项目源码-优质项目分享.zip
- 跨相机-基于Rust实现的跨平台相机捕获-附项目源码-优质项目分享.zip
- odise 14离线安装包 大众斯柯达奥迪 5054 6153
- 网页设计期末作业-纯html加css+少量js-盗墓笔记旅游导航网站.rar
- 算法笔记模拟退火.rar
- MATLAB大数据仿真案例-蚁群算法(ACO)用于求解旅行商(TSP)问题.rar
- 基于yolov5的吸烟行为检测源码+模型.zip
- MySQL基础知识-个人笔记.rar
- Project8.ipynb
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功