android 如何开始测试

从零开始快速搭建Android应用自动化测试(一) 自动化测试博大精深,很多大公司都有专职的程序员甚至专家来负责自动化测试。但有时候仅仅是为了快速地搭建一个Android自动化测试工程,作为demo或者1.0版本快速进入迭代开发。本文总结一下从零开始快速搭建Android应用自动化测试的方法。假定你的Android应用程序包含如下组件需要跑自动化测试: -一个Activity -一个Service -一个静态工具类(Utils) 测试设备an 阅读详情

理论实践

为什么要测试

在 android 开发的过程中,编写与运行测试会帮助你更早的找到问题,从而你可以对编写的代码充满信心。

我该测什么

  1. 验证应用程序的特定行为
  2. 验证面向约定的特定行为
  3. 检查在不同的Andr​​oid设备上的一致性
  4. 验证文件读写行为
  5. 验证私有类库的行为

测试类别

  1. 运行在 JVM 上的测试
  2. 运行在 ANDROID设备或者模拟器上的测试。
  3. 优先使用前者,因为它相较于后者更便捷。

Getting Started with Testing

Getting Started with Testing,有代理的建议直接点链接读原文吧。

配置单元测试环境

面向AndroidStudio 中的 app的build.grade 中配置:

dependencies {
    // Required -- JUnit 4 framework
    testCompile 'junit:junit:4.12'
    // Optional -- Mockito framework
    testCompile 'org.mockito:mockito-core:1.10.19'
}

编译运行单元测试

测试代码默认编译src/test/java该目录。
从AndroidStudio执行测试用例需要如下3步:
1. 选择你的Project 窗口, 选择到synchronize 功能并点击。
2. 点击版面左侧的 Build Variants 窗口,切换 test artifact 为 Unit Tests。
3. 选择你的 Project 窗口, 选中单元测试类或者方法,紧接着右键执行它。 若你希望执行整个目录,则选择该目录右键执行它。
Android Studio 会在下方 的 Run 窗口中显示单元测试的结构。

配置Instrumented测试环境

Instrumented测试是在Android设备或模拟器上运行测试。
这些测试可以获取到Instrumentation的信息,比如应用程序的Context。

通常Instrumented测试用于:

  • 单元测试
  • 用户接口(UI)测试
  • 组件间集成测试

如何针对具体需求定制Instrumented测试,可以见下方的帖子:

在Android Studio项目中,需要在src/androidTest/java 目录下编写测试代码。

下载Android测试支持库,它提供了API,允许您快速建立和您的应用程序运行的Instrumented测试代码。测试支持库中包含了,Junit4 Test Runner(AndroidJUnitRunner ),以及提供 UI测试的 接口们(Espresso 与 UI Automator)。要了解如何安装该库,请参阅测试支持库设置。

你需要配置Android测试依赖于项目中使用的测试运行,并通过测试支持库所提供的规则的API。为了简化测试开发,我们还建议您包括Hamcrest库,它可以让你创建一个使用Hamcrest匹配器的API更加灵活的断言。

在Android应用模块的build.gradle文件,指定你的依赖:

dependencies {
    androidTestCompile 'com.android.support:support-annotations:23.0.1'
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'
    // Optional -- Hamcrest library
    androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
    // Optional -- UI testing with Espresso
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
    // Optional -- UI testing with UI Automator
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
}

编译运行Instrumented测试

Android Studio 的Gradle插件,默认编译目录src/androidTest/java下的测试代码。编译生成test apk与production apk,并将两者都安装在已连接的设备或模拟器上,并执行测试。

确保指定AndroidJUnitRunner作为项目的缺省测试Runner,所以在您的app的build.gradle文件添加以下设置:

android {
    defaultConfig {
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}

在Android Studio中运行:

  • 打开左侧的Build Variants选项卡,并将类型选择为Android Instrumentation Tests。
  • 在项目窗口中,选择到你的仪表测试类或方法,然后右键单击并使用Android测试配置运行它。要运行的目录中的所有测试中用例,选择目录,然后单击鼠标右键,然后按运行测试。

使用Gradle命令运行:调用connectedAndroidTest(或cAT)任务。

./gradlew cAT
Android 分贝测试仪功能,从零开始系统化学Android 总而言之,Android开发行业变化太快,作为技术人员就要保持终生学习的态度,让学习力成为核心竞争力,所谓“活到老学到老”只有不断的学习,不断的提升自己,才能跟紧行业的步伐,才能不被时代所淘汰。在这里我分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。需要的朋友可以私信我【资料】或者点这里免费领取。 阅读详情

相关推荐

Sigmastar平台WDR调试实战:从参数解析到鬼影消除的完整指南

本文提供了Sigmastar平台宽动态(WDR)技术的实战调试指南。针对逆光、运动场景下的核心痛点,系统性地解析了从多曝光采集、HDR融合到色调映射的完整管线,并重点阐述了如何通过调整曝光比、运动阈值与调整曲线等关键参数,有效消除运动鬼影、平衡暗部噪声与细节,最终实现清晰稳定的图像效果。

Jerry的专栏 926

【Android】测试方法汇总,助力打造完美应用

本文围绕着Android应用的测试方法进行了汇总和总结,旨在为开发者提供助力,帮助他们打造完美的应用。文章介绍了常见的测试方法,包括单元测试、集成测试、UI测试等,详细阐述了各种测试方法的特点和适用场景。此外,文章还提供了一些实用的测试工具和技巧,如JUnit、Espresso、Mockito等,帮助开发者更高效地进行测试。

宾有为的博客 1306

爬虫风控实战:当你的代理IP被数美滑块盯上时,如何优雅破解?

本文深入探讨了爬虫风控对抗中数美滑块验证码的破解与防御策略。通过分析数美滑块的多层防御机制,提出了代理IP池精细化管理、请求特征拟人化改造以及工程化滑块验证解决方案等系统性方法,帮助开发者有效降低验证码触发率,提升爬虫效率。

weixin_27419879的博客 207

Android测试(二):Android测试基础

原文地址:https://developer.android.com/training/testing/fundamentals.html 用户在不同的级别上与你的应用产生交互。从按下按钮到将信息下载到他们的设备上,因此,你应该在迭代开发应用程序时测试各种用例和交互。 使用迭代开发工作流 当你的应用程序进行扩展时,你可能会发现需要从服务器获取数据,与设备的传感器进行交互,可以还需要访问本地存储,...

weixin_34242658的博客 514

安装matlab_Matlab+yalmip+cplex安装教程及算例

数学建模/科研学习推荐学习软件:Matlab+yalmip+cplex安装教程及算例其实绝大多数本科生都是在用Matlab和LINGO求解优化问题,Matlab可以求解一般优化问题,但是当优化问题规模比较大或者在应对一些非线性问题时候,Matlab会出现求解时间长,求解效率低,甚至难以求解等问题。Matlab+yalmip+cplex是Matlab通过调用商业软件cplex求解,求解时间短,这里简...

weixin_28939637的博客 5006

别光看教程了!手把手带你用STM32F103C8T6最小系统板点亮第一个LED(附完整电路图)

本文详细介绍了如何使用STM32F103C8T6最小系统板点亮第一个LED,从硬件连接到软件开发环境搭建,再到编写和下载程序,手把手教你完成STM32入门的第一步。适合初学者快速上手STM32开发,附完整电路图和代码示例。

weixin_28678831的博客 196

Android开发中如何做单元测试

为什么要做测试 撰写测试有以下好处: 确保开发出来的app功能是正确的 保证新增加的功能开发不会影响原来的功能,就是说新写的代码不会使原来正常工作的代码产生bug 当采用测试驱动开发模式时,测试有助于模块化和迭代化。 Android中的单元测试类型 Android中的单元测试有两种类型 本地单元测试:这种测试是运行在开发机器的JVM上的。存放在项目中app/src/test/j

ShuSheng007的程序人生 3536

从CORDIC到DDS:手把手拆解《Verilog传奇》第9章的实战项目(附可跑通的代码)

本文详细解析了如何从CORDIC算法到DDS系统的完整实现过程,基于《Verilog传奇》第9章的实战项目,提供了可运行的Verilog代码。内容涵盖CORDIC算法的硬件实现、DDS系统架构设计、完整系统集成与验证,以及实际部署中的性能调优技巧,适合数字IC和FPGA开发者深入学习。

weixin_42623010的博客 414

【android开发】:android真机测试

android真机测试 参考网址:https://stackoverflow.com/questions/15162276/android-executing-a-program-on-adb-shell 参考网址:https://developer.android.com/studio/command-line/adb?hl=zh-cn https://stackoverflow.com/que...

walkingMa的专栏 2845

电感损耗 DCR/ACR/磁芯损耗 3 大来源解析:从集肤效应到磁滞回线

本文深入解析电感损耗的三大来源:DCR(直流电阻)、ACR(交流电阻)和磁芯损耗,从集肤效应到磁滞回线的微观机制。通过对比不同材料和设计策略,提供高频开关电源中电感损耗的优化方案,帮助工程师提升系统效率和可靠性。

weixin_34379433的博客 514

zabbix6.0.4拓扑图链路显示流量

1. 背景介绍 网络流量监控是网络管理员必备功课,以前研究cacti的weathermap插件,网络流量大小和拥塞情况一清二楚,随着cacti的没落,weathermap插件也不能再继续使用,此时就需要学习了解新的替代方案。 经过研究和实际测试,发现zabbix的拓扑图有这个功能。 以下验证了zabbix的拓扑图显示线路流量的功能。 2. Zabbix 6显示拓扑图流量过程 选择监测-拓扑图 点进Local ne...

u013930899的博客 8485

android怎么执行测试类,java - 在Android Studio中执行扩展AndroidTestCase的测试类 - 堆栈内存溢出...

我正在尝试执行一个测试类,以扩展我制作的AndroidTestCase,但是显然我一直在遇到以下错误:No apk changes detected. Skipping file upload, force stopping package instead.DEVICE SHELL COMMAND: am force-stop package_nameRunning testsTest runni...

weixin_26985923的博客 259

【01】Python解释器的安装

工欲善其事必先利其器。君欲学PYthon,则必先安装Python解释器。安装过程相对简单,大致跟着如下步骤走即可。

侯小啾技术博客 1258

三星s20Android11怎么退回10,三星已经开始在GALAXY S20+上测试安卓11系统

原标题:三星已经开始在GALAXY S20+上测试安卓11系统 Galaxy S20+什么时候会推出安卓11的GALAXY S20+?三星还没用明确发布这款手机的确切时间。但是,制造商显然正在测试新版本的谷歌操作系统。在Geekbench数据库中,最近发现三星Galaxy S20+智能手机安装了安卓11系统。我们都可以期待很快的更新吗?当然不是,因为首先制造商将会发布一个测试版,离正式发布还有几个...

weixin_34649252的博客 2783

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

小米8android系统版本,国产首发?小米8 SE已率先开始测试Android Q系统

原标题:国产首发?小米8 SE已率先开始测试Android Q系统安卓版本目前按照26个字母的顺序推进,在Android 9 Pie之后将是Android Q(安卓10.0?)。经查,GeekBench 4.3数据库中,小米8 SE已经开始基于Android Q系统进行测试了,时间是11月25日晚。跑分方面,单核1830,多核5819,仍是标准的骁龙710成绩。此前,在11月上旬举办的安卓开发者峰...

weixin_36219784的博客 398

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

android 模拟手势滑动_小米MIUI 11开始测试安卓10新导航手势

IT之家4月9日消息 MIUI以其活跃的社区而闻名,并热衷于向Android系统中添加各种实用功能。但MIUI在Android 10新导航手势支持方面还比较落后。IT之家获悉,根据小米MI社区官方消息,小米已开始将此功能部署到几款智能手机中进行Beta测试。目前,它仅适用于运行MIUI 11 国行ROM上的多个设备。MIUI论坛博客文章正式宣布引入Android 10手势控制功能。并且公布了有关如...

weixin_39960116的博客 501

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android 单元测试,从小白到入门开始

1 引言 1.1 背景 随着 Android 应用越来越壮大,对应代码量显著增加,代码逻辑也日趋复杂,此时需要采取一定的行动去保证代码质量,减少逻辑漏洞等,于是严格地执行单元测试编写任务,将单元测试落实到平常开发和维护任务当中去,就是很重要的一环,不可忽视。 然而,很多应用开发者之前并未编写过单元测试代码,那么如果有一篇通俗易懂并带有操作步骤的文章,能帮助应用开发者完成从单元测试小白到入门的过渡,就再好不过了,于是本文就是在此情况写就的,如有不好之处,请多多包涵,谢谢...

让学习编程变得生动有趣~ 1万+

小米8se android q,小米8 SE开始测试安卓Q系统,国产第一款

爱搞机11月27日消息,日前有网友发现,一款名为“Xiaomi Mi 8 SE”的设备跑分出现在GeekBench数据库中,这设备应该是小米8 SE,该机的操作系统是Android Q,不过跑分并没有因为新系统而出现明显变化,其单核成绩1830分,多核成绩5819分,是骁龙710的正常水平。目前已知的情况里,小米8 SE是最先测试安卓Q的国产手机。在全球范围内,最先测试Android Q的肯定是安...

weixin_36034659的博客 181

小米8se android q,领先友商!小米8 SE开始Android Q系统测试

前些年,大家对手机系统的迭代需求似乎不是很大,但随着全面屏时代的来临,新功能和新玩法让用户们对系统更新变得期待起来。目前,大部分厂商为自家旗舰上线的是Android 9 Pie,而在此之后的系统版本应该是Android Q。关于Android Q,在11月上旬举办的安卓开发者峰会上,它的部分新特性已经被公布出来:包括可进行多窗口、分屏、画中画多任务操作时,两个以上的任务都能保持运行状态不中断等。不...

weixin_39988888的博客 186

三星Android10内测,三星开始在Galaxy Note 9上测试Android 10

原标题:三星开始在Galaxy Note 9上测试Android 10IT之家10月9日消息 据SamMobile消息,继Galaxy S10、Galaxy Note 10和Galaxy S9之后,三星开始在Galaxy Note 9上测试Android 10。 SamMobile指出,Galaxy Club的工作人员发现Galaxy Note 9最新的固件测试版本编号为N960FXXU3DSJ3...

weixin_42354992的博客 166

Android自动化测试之Monkeyrunner从零开始

最近由于公司在组织一个Free CoDE的项目,也就是由大家自己选择研究方向来做一些自己感兴趣的研究。由于之前我学过一点点关于android的东西,并且目前android开发方兴未艾如火如荼,但自动化测试还基本上属于新兴领域,接触的人并不多,所以我给我们团队提出研究android自动化测试方面的项目,果然得到大家一致的赞同,大家的兴致都很高,呵呵。于是二话不说,我们开始看看现在android平台上

xuyeyan的专栏 648

小米8se android q,小米8 SE开始测试安卓Q系统, 国产第一款

原标题:小米8 SE开始测试安卓Q系统, 国产第一款一款名为“Xiaomi Mi 8 SE”的设备跑分出现在GeekBench数据库中,这设备应该是小米8 SE,该机的操作系统是Android Q,不过跑分并没有因为新系统而出现明显变化,其单核成绩1830分,多核成绩5819分,是骁龙710的正常水平。目前已知的情况里,小米8 SE是最先测试安卓Q的国产手机。 在全球范围内,最先测试Android...

weixin_34473897的博客 313

小米8se android q,小米8 SE已率先开始测试Android Q系统

IT之家11月27日消息 11月25日,小米8 SE运行安卓Q系统的测试数据现身GeekBench 4.3数据库。跑分方面,单核1830,多核5819,仍是标准的骁龙710成绩,并没有因为是安卓Q的缘故,而出现什么“令人期待”的结果。在11月初举办的安卓开发者峰会上,谷歌公布了Android Q的新特性:进行多窗口、分屏、画中画多任务操作时,两个以上的任务都能保持运行状态不中断。而在上周,谷歌Pi...

weixin_42347869的博客 226

即搜即得,首批 Android Instant Apps 开始测试

去年在 Google I/O 大会上推出的 Android Instant Apps 已逐渐成为现实,近日,Google 宣布第一批 Android Instant Apps 已经开始有限测试。Android Instant Apps 允许用户如加载网页那样,无须安装,即搜即得,已然成为 Web App 和 Native App 之间的桥梁。其核心思想是将 Native App 压缩成一个小的包,...

一起来捉 Bug 呀~~ 957
上一篇: android:launchMode
下一篇: 使用 robolectric 做单元测试
多格AI零代码
博客等级 码龄15年 40粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值