Android自动化测试探索 前言 通常来说,我们开发完成产品之后,都是由测试组或者是我们自己点一点,基本上没有问题了就开始上线.但是,随着时间的堆叠,一款产品的功能也越来越多.这时,我们为了保证产品的质量,就需要在每次测试时将所有的流程都走一遍.然而,对于一款庞大的产品来说这是困难又复杂的.因为我们自己手动测试需要花费大量的时间来完成主业务测试这种重复性工作.为了保证效率以及解决成本,我们就需要考虑将这些过程采用自动化测试来完成. 自动化测试介绍 何为自动化测试?自动化测试就是通过计算机将我们…
Android 代码覆盖率统计 本周开始准备统计Android自动化用例的代码覆盖率,将最终使用的方法记录下来. 覆盖率监测的原理 覆盖率监测的原理跟iOS上的原理差不多,大致的思路参考下吧, iOS自动化探索(十)代码覆盖率统计 Android使用的是JaCoCO覆盖率统计工具  jacoco 原理篇 必要知识储备或条件: 项目源码 Android Studio开发环境 基本了解Android项目结构 基础adb操作 同样如果以上说的几个都不懂也行, 让开发帮忙做这些然后编个代码覆盖率统计的包…
之前在 https://www.cnblogs.com/zhouxihi/p/11453738.html 这篇写了一种统计Android覆盖率的方式 但是对于一些比较复杂或者代码结构不够规范的项目,有可能会出现统计不全的问题 这里记录下另外一种统计覆盖率的方法 之前提到的方式大致流程是: 启动APP -> 执行测试 -> 返回桌面 -> 生产覆盖率文件 今天要讲的方式大致流程是: 启动APP -> 执行测试 -> 发送adb请求 -> 生产覆盖率文件 具体步骤: 1.…
Android常用自动化工具 ADB - 是Google提供的为Android编写UI测试用例的自动化工具, Android开发/测试人员不可替代的强大工具 uiautomator - 是Google提供的为Android编写UI测试用例的自动化工具 uiaotomator2 - uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库. appium - 跨平台的测试框架, 同时支持iOS和Android ADB简介 可以参考这篇: ADB详细介绍 uiaot…
Android SDK tools安装 下载连接: https://www.androiddevtools.cn 找到对应mac的版本下载安装即可 AAPT配置 #1. 进入根目录 cd ~ #2. 打开.bash_profile,  如果没有这个文件可以自己创建一个 open .bash_profile #3. 查看下adnroid sdk tools的版本 Jackeys-MacBook-Pro:~ jackey$ ls ~/Library/Android/sdk/build-tools 2…
uiautomator2简介 项目Git地址: https://github.com/openatx/uiautomator2 安装 #1. 安装 uiautomator2 使用pip进行安装, 注意因为uiaotumator2还在开发中需要加上--pre来安装最新的版本 pip install --upgrade --pre uiautomator2 也可以使用源码来进行安装 git clone https://github.com/openatx/uiautomator2 pip insta…
adb详细介绍 #1. 基本简介 adb,即Android Debug Bridge,它是Android开发/测试人员不可替代的强大工具 #2. Mac上安装adb 安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 安装adb brew install Caskroom/cask/android-platform-tools…
iOS APP代码覆盖率统计 今年Q3季度领导给加了个任务要做前后端代码覆盖率统计, 鉴于对iOS代码代码比较熟就选择先从iOS端入手,折腾一整天后终于初步把流程跑通了记录如下 覆盖率监测的原理 Xcode中配置编译选项后, 编译后会为每个可执行文件生成对应的 .gcno 文件:之后在代码中调用覆盖率分发函数,会生成对应的 .gcda 文件. gcno:包含基本的块信息,以及代码行与块的映射关系: gcda:包含代码行执行的情况,以及覆盖率的信息归纳: 执行完测试后,提取goda并借助工具与gc…
Github测试样例地址:https://github.com/appium-boneyard/sample-code/tree/master/sample-code/examples ①定位text,通过UiSelector定位 # text定位 self.d.find_element_by_android_uiautomator("new UiSelector().text(\"手机相册\")").click() ②中文输入问题,输入中文不显示: <app…
本周开始启动手机输入法simeiji的自动化测试,同时开始接触手机浏览器自动化测试.接下来会对android自动化测试工具和方法做一个专题研究. 第一篇介绍monkey测试工具. 1 自动化测试背景 软件测试是软件产品开发过程中的重要环节.测试对于发现软件中缺陷,保障软件的质量具有重要意义.统计表明,软件测试的时间通常占到软件开发时间的 40%,一些可靠性要求高的软件甚至高达 60%以上.         手工测试和自动化测试是软件测试的两种基本手段,二者相互补充,不可相互替代.其中,自动化测试…
Android常用的自动化测试工具框架: Monkey,MonkeyRunner,UIAutomator,Robotium,Appium,Monkey Talk...... 但这些工具框架都是什么呢有什么联系呢,先通过一张图来了解一下吧.(图是某博客上借过来 是不是一脸懵逼,不知道这是什么鬼.下面详细了解一下. 一.Monkey 是Android SDK自带的测试工具,是一个命令行工具,可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对…
一.一个BUG引发的问题   如果研发过程中有一个BUG:“不断的切换手机语言出现花屏现象”.这个问题我们如何验证呢?我想,最好的方式应该是自动化测试.    那么,自动化测试可以完成哪些任务呢?    简单的说,那些重复性的测试工作,都可以交给自动化完成:        1.设置手机的语言        2.添加.删除.收藏联系人        3.拨号.挂断        4.甚至发送短信.收藏短信 如果需要上面的功能,那么就开始自动化之旅吧. 二.Android自动化测试简单介绍   An…
随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的基于UI层面的自动化测试工具.趁晚上有空总结下,好记心不如烂笔头呀! 一 常见Android自动化测试框架及其应用 目前,Android基于UI层面的自动化测试工具,都可以理解为是基于Android控件层面的,涉及Widgets和WebView两大类.其主流的测试方法主要有以下几种.一种是通过And…
什么是 Monkey Monkey 是一个 Android 自动化测试小工具.主要用于Android 的压力测试, 主要目的就是为了测试app 是否会Crash. Monkey 特点 顾名思义,Monkey就是猴子, Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试. 猴子什么都不懂, 只知道乱敲.通过Monkey程序模拟用户触摸屏幕.滑动Trackball. 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常. Monkey程序介绍 Monkey 程序是由 And…
一.一个BUG引发的问题   如果研发过程中有一个BUG:“不断的切换手机语言出现花屏现象”.这个问题我们如何验证呢?我想,最好的方式应该是自动化测试.    那么,自动化测试可以完成哪些任务呢?    简单的说,那些重复性的测试工作,都可以交给自动化完成:        1.设置手机的语言         2.添加.删除.收藏联系人         3.拨号.挂断         4.甚至发送短信.收藏短信 如果需要上面的功能,那么就开始自动化之旅吧. 二.Android自动化测试简单介绍  …
UIAutomator是一个Android自动化测试框架,是谷歌在Android4.1版本发布时推出的一款用Java编写的UI测试框架,它只能用于UI即黑盒方面的测试.所以UIAutomator只能运行在Android4.1之后的版本,其最大的特点是可以跨进程操作.我们可以使用UIAutomator框架提供的一些方便的API来对Android应用进行一系列的自动化测试操作,如点击.滑动.键盘输入.长按以及常用的断言方法.可以代替繁复的手工测试. 优点: Google自家推出,其稳定性和后续的维护…
Android系统有五种数据存储形式,分别是文件存储.SP存储.数据库存储.contentprovider 内容提供者.网络存储.其中,前四个是本地存储.存储的类型包括简单文本.窗口状态存储.音频视频数据.XML注册文件的各种数据.各种存储形式的特点不尽相同,因此对于不同的数据类型有着固定的存储形式,本文为演示方便给出的案例基本相同,都是是采用账号登录来演示数据存储,保存账号和密码信息,下次登录时记住账号和密码.重在说明各种存储形式的原理. 文件存储: 以I/O流的形式把数据存入手机内存或SD卡…
coverage.py是一个用来统计python程序代码覆盖率的工具.它使用起来非常简单,并且支持最终生成界面友好的html报告.在最新版本中,还提供了分支覆盖的功能. 官方网站: http://nedbatchelder.com/code/coverage/ win32版本下载地址: http://pypi.python.org/pypi/coverage 或者通过easy-install来安装: easy_install coverage 装好后,在c:\Python25\Scripts\(…
在上篇文章--如何实现 Android 应用的持续部署中,我们使用的是 flow.ci + Github + fir.im 实现 Android 应用的持续部署.对于 Android 开发者,他们可能会在整个过程使用 Android 模拟器进行自动化测试. 所以,这次我们通过启动在 flow.ci 中的 Android 模拟器插件,同时将 connectedCheck 命令添加到构建插件的默认脚本中,以此来实现 Android 应用自动化测试与持续集成. PS:如果您已经阅读过Android的持…
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 六.Android学习第五天——Handler的使用 注意:有很多功能是不能写在Activity中的,例如说下载或者处理大量的数据等,如果这类操作写在Activity中,就有可能导致整个Activity无响应甚至报错,这样用户体验就会比较差.所以此类功能应该独立于Activity,且互不干扰,所以Handler就应运而生了.Handler提供了一个异步的消息处理的方案,将…
一.Robotium原理 Robotium是一款Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API,能够对各种控件进行操作,Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试,另外Robotium4.0版本已经支持对Webview的操作.Robotium对Activity,Dialog,Toast,Menu都是支持的. 二.Robotium优点: 1.  能够快速…
解放程序猿宝贵的右手(或者是左手) http://blog.csdn.net/eclipsexys/article/details/45622813 --Android自动化测试技巧 Google大神镇楼 : http://developer.android.com/tools/testing-support-library/index.html#UIAutomator 前言: 觉得文章太长不想往后翻的朋友,你们会后悔的,当然,你也可以选择先看后面的,你会觉得很爽,但是相信我,你还是会回来看前面…
1.Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作:缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限:2.Rubotium:主要针对某一个APK进行自动化测试,APK可以有源码,也可以没有源码,功能强大:缺点是针对APK操作,而且需要对APK重新签名(有工具),因此操作相对复杂:3.UiAutomator:优点:可以对所有操作进行自动化,操作简单:缺点:Android版本需要高于4.0,无法根据控件ID操作,相对来说功能较为局限,但也够用了:4.Monkey:…
解放双手--Android自动化测试 - eclipse_xu - 博客频道 - CSDN.NET 解放程序猿宝贵的右手(或者是左手) --Android自动化测试技巧…
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 颜色处理(五) LinearGradient线性渲染 相信很多人都看过歌词同步的效果, 一是竖直方向的滚动,另一方面是水平方面的歌词颜色渐变点亮效果,这种效果怎么做呢? 这就需要用到LinearGradient线性渲染,下面还是先看具体的使用: LinearGradient有两个构造函数; public LinearGradient(float x0, float y0, float x1, float y1, int[] c…
关键词:android 电池  电量计  PL2301任务初始化宏 power_supply 中断线程化 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210.exynos 4412 .exynos 5250 作者:xubin341719(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 完整驱动代码&规格书下载:MAX17040_PL2301 android 电池(一):锂电池基本原理篇 andr…
目前针对于高级语言如C++,JAVA,C#等工程都有相关的代码覆盖率统计工具,但是对于oracle存储过程或者数据库sql等方面的项目,代码覆盖率统计和扫描工具相对较少. 因此针对这种情况,设计了代码覆盖率统计工具,其实oracle已经提供了较好的代码profiler包,本文主要介绍利用DBMS_PROFILER设计的代码覆盖率统计工具. 1.代码打桩 获取代码覆盖率的前提是,需要对被测代码进行profiler,也就是打桩,需要有一个计数器去统计被执行到的代码行.Oracle提供了一个有用的工具…
Android For JNI(五)--C语言多级指针,结构体,联合体,枚举,自定义类型 我们的C已经渐渐的步入正轨了,基础过去之后,就是我们的NDK和JNI实战了 一.多级指针 指针的概念我们在前面也讲了许多,也提到了多级指针的概念,那具体我们怎么去操作呢 #include <stdio.h> #include <stdlib.h> main(){ int i = 3; //一级 int* p = &i; //二级,保存一级指针 int** w = &p; //三…
Android特效专辑(五)--自定义圆形头像和仿MIUI卸载动画-粒子爆炸 好的,各位亲爱的朋友,今天讲的特效还是比较炫的,首先,我们会讲一个自定义圆形的imageView,接着,我们会来实现粒子爆炸的特效,按照国际惯例,无图无真相的没这个效果也是模仿大神的,现在应用在了我的<Only>上 截图 好的,我们新建一个工程--AnimView,我们要用到的图片 一.自定义圆形头像-- 直接开写了,要实现的东西都在注释上了 1.编写自定义属性attr.xml <?xml version=&q…
最近在整理Android自动化测试的相关资料,大体上把一些知识点梳理了,这里做一个简单的分享! Android里面测试相关的工具和框架太多了.你应该从以下几个方面入手. 编程语言的选择 如果你要学习的是Appium的话,当然它是移动自动化测试领域最流主流的工具之一,同时支持iOS和Android两大平台,最主要是还支持多种编程语言(Java/Python/C#/JavaScript…等),这是它能得到广泛使用的原因之一.如果你只想做APP UI层的自动化测试,那么,你完全可以使用自己熟悉的编程语…