
自动化测试
文章平均质量分 73
Cloud_Huan
这个作者很懒,什么都没留下…
展开
-
MonkeyRunner解析
步骤;from com.android.monkeyrunner import MonkeyRunner,MonkeyDevicedevices = MonkeyRunner.waitForConnection()devices.installPackage()devices.startActivity('')result = devices.takeSnapShot()r原创 2015-12-02 19:50:25 · 527 阅读 · 0 评论 -
Espresso学习笔记--google doc前四篇部分翻译和理解
那么针对Espresso这个框架google提供了下面几篇文章: 本文包含前4篇的部分翻译和个人理解,后面两篇作为提高吧,笔者还没来得及看00 01入门谷歌建议我们做自动化的时候关闭动画 然后在build.gradle里面增加testrunner和依赖库 在· android.defaultConfig:里面添加,testInstrumentationRunner "androi原创 2016-08-16 19:35:49 · 2001 阅读 · 2 评论 -
谷歌文档部分翻译:JUnit4 Rules with the ATSL
android的测试支持库为AndroidJUnitRunner提供了junit规则支持库,为测试的时候提供了便利。 类似于ActivityInstrumentationTestCase2或者ServiceTestCase都是已经被谷歌弃用了,与之对应替代的事ActivityTestRule和ServiceTestRule(TestCases变成TestRule了) ActivityTe原创 2016-08-19 19:03:55 · 974 阅读 · 0 评论 -
通过jacoco检查自动化代码覆盖率和报告分析
背景: 虽然jacoco出来也有一段时间了,文章也有,但是网上的文章都是新建的一个测试工程,照着跑下来,到处都是坑…所以还是自己再研究一下吧,并且起码比他们的详细。环境: android studio 2.1.1 + gradle 2.10搭建: 其实gradle自带的有jacoco插件的,只需要引入就好了,打开build.gradle,在第一行添加插件:apply plugin: 'jaco原创 2016-08-22 14:21:53 · 12192 阅读 · 0 评论 -
使用自动化测试专项性能----对不同时长视频导出不同规格的耗时数据统计
背景:项目有一个需求是这样的,针对某个拍摄的视频,做压缩导出操作,导出操作支持不同的规格,所以压缩导出的时间各不相同,所以需要做压缩效率的一个专项测试,初步设想需要取得的数据为耗时–规格–时长的一个统计图,比如下面这张图: 痛点:简单的专项可以手动去做,因为数据少,代码结构改变的话维护成本低;但是,项目还在初期阶段,导出规格和底层的压缩算法有可能会变,而且每次执行数据量会很大,手工操作统计原创 2016-10-26 18:40:32 · 758 阅读 · 0 评论 -
测试开发之----给你的apk加上时间分片的log记录
那么这个示例会演示如何给你自己的apk加上log记录功能,之所以会有这一个,是因为当前所在项目在测试过程中是无法通过usb线连接电脑的(被硬件占了),远程调试也可以,但是会占用端口切来切去麻烦,并且速度非常慢。于是考虑能不能够把log日志分时间段记录在sd卡,这样出问题可以直接获取日志,同时也可以为后续的持续集成log上传打下良好基础。 PS:请无视项目名字,我懒得改了,因为一开始是匹配自己项原创 2016-12-02 20:16:33 · 1240 阅读 · 0 评论 -
Robotium中webview源码分析
记得好久以前分析了robotium对native控件的支持,最近在研究webview的测试,所以继续看下robotium对webview部分的支持。那么我们稍微复习一下上次分析到结论: 1.利用decoderView获取控件树的方式完成对控件的查找 2.最后调用的instrumentation的inject注入event事件完成对控件的操作 3.利用junit的assert类或者h原创 2017-04-06 18:36:17 · 657 阅读 · 0 评论 -
基于junit4+Robotium+spoon+as二次开发自动化框架,支持失败重试和失败截图
背景: 对于一个硬件连接项目,底层gg终于开发出mock流的库,后续的许多测试都可以进行了。对于自动化,在云测的机型兼容和本地的主流程验证其实还是起到比较重要的作用的,但是app的UI自动化这个东西本身就是一大坑,无论是成功率还是投入的人力成本,发展到现在也依然是一个问号,不过东西还是要做的,至少对于个人帮助还是很大的… … 本篇分享的是在公司已经完成的一个二次开发的自动化框架,基于as原创 2017-05-06 18:44:16 · 1418 阅读 · 0 评论 -
app UI自动化框架改进----使用pa设计模式抽离页面元素
之前写过一个基于robotium+androidjunitrunner+spoon的自动化框架,详见:基于junit4+Robotium+spoon+as二次开发自动化框架,支持失败重试和失败截图,但是呢最近和 @安静的偏执 聊了一会儿发现写的还是有些瑕疵的,并给了我些建议,是关于在UI自动化中如何更好的抽离封装元素。为了对比,我们来对比一下改进前后的效果:目录对比:写法对比:@Testpubl原创 2017-08-27 10:58:17 · 1507 阅读 · 0 评论 -
使用最新版本的androidjunitrunner运行测试用例报:xxx/R.txt (系统找不到指定的文件。)的解决方法
为了使用一些新特性,更新了测试框架,然后华丽地报错了:Error:Execution failed for task ':app:processUmengDebugDebugAndroidTestResources'.> java.io.FileNotFoundException: E:\project\air.app\app\build\intermediates\symbols\android原创 2017-10-16 17:00:37 · 2456 阅读 · 0 评论 -
Android新提供的测试框架支持库学习 && Testing Support Library
本文半翻译与google官方文档,在学习之后,需要了解的是android提供的测试库工具,以及了解它们的作用,以前都是用junit3写robotium的,现在与时俱进吧。android提供多重测试用的支持库,比如说junit4的支持以及ui测试。这一篇文档告诉我们android测试支持库提供了什么样的工具以及怎么使用它们。 android测试支持库包含了下面几个自动化工具: AndroidJu原创 2016-08-16 19:27:27 · 1562 阅读 · 0 评论 -
Android TV磁贴类app自动化框架二次改造(基于UiAutomator)
简介 项目一直是手工测试为主,加上一直是TV类应用,很多自动化工具都没有针对TV类项目做很好的适配,所以只有自己动手了。主要针对项目的特殊性进行了部分改造,不一定适用于其他项目。(涉及隐私,就不提供json文件和软件名字啦)痛点1.非标准控件的难处 通过uiautomatorviewer获取到的不一样的磁贴,属性全部相同(除了坐标点),意味着没法通过id和class+in原创 2016-04-20 22:20:29 · 2208 阅读 · 0 评论 -
Android自动化实现点击自定义ListAdapter类控件
robotium的solo类提供了solo.clickInList方法去点击listview中的某一行,但却没有方法去点击AdapterView类控件,那么怎么办呢?方法其实非常简单,就是调用view的setSelection和requestFocus方法就可以了,那么这里以Instrumentation框架为例/****传入一个AdapterView对象,我这里传入了子类**以及列表号**原创 2016-05-13 20:14:06 · 1319 阅读 · 0 评论 -
robotium步骤和模板
Robotium是一款国外的开源测试框架,使用人数非常多,有着比较完善的api和说明文档,同时可以进行黑盒和白盒测试,可以说是一个非常强大的框架了,不过如果是纯黑盒我还是偏向用UiAutomator了,看个人吧。Robotium是在Android的单元测试工具上的二次封装而来的,是对Instrumentation的扩展。意味着创建步骤其实和用Instrumentation是很像的,下面简述步骤原创 2016-02-17 19:29:46 · 569 阅读 · 0 评论 -
UiAutomator步骤
UiAutomator作为谷歌的亲儿子,可是继承在Android sdk当中的,主要是做UI测试的,而且现在很火的Appium里面Android使用的框架正是UiAutomator,使用的时候只需要导入build好的jar包,就可以直接在手机内的虚拟环境运行这个自动化框架啦。 步骤:1.新建一个java项目(是的,不是Android的测试项目,因为最终目的是打成一个jar包)2.在原创 2016-02-17 19:36:53 · 1044 阅读 · 0 评论 -
UiAutomator注入和查找事件源码浅析
今天浅析的一个自动化框架是UiAutomator这个框架,那么从网上下了源码,就来分析一下数据流的走向吧,主要内容有两个,第一个是如果查找控件,第二个是事件是如何注入的。本人水平有限,所以只能是个浅析了。 首先我们要有一个概念,UiAutomator这个框架最终是利用了Android中的辅助功能服务,accessibilityservice(对于4.3以前的则是用了InputManager注入原创 2016-02-25 18:29:39 · 2651 阅读 · 2 评论 -
robotium注入和查找事件源码浅析
robotium注入和查找源码浅析那么上一篇文章我们分析了UiAutomator的注入事件和查找控件的源码走向,那么这一篇将要走入robotium的源码分析,同样分析注入和查找控件。那么robotium呢是一款非常受欢迎的框架,参考文档和使用人数是非常多的,相比UiAutomator,robotium速度更快,因为运行在同一个进程当中,可以进行黑盒或者白盒测试,但是需要相同签名,其他就和UiAuto原创 2016-02-26 19:28:22 · 802 阅读 · 0 评论 -
一个图理解Appium的设计原理
直接上图了哦,图片是用startUML画的(个人理解的,可能不准) 简介明了了是不,稍稍总结一下 1.appium是c/s模式的 2.appium是基于webdriver协议添加对移动设备自动化api扩展而成的,所以具有和webdriver一样的特性,比如多语言支持 3.webdriver是基于http协议的,第一连接会建立一个session会话,并通过post发送一个json告知原创 2016-03-23 00:00:51 · 11067 阅读 · 0 评论 -
Appium环境搭建(window+python)
计划是在ubuntu系统搭建appium的服务端的,但是npm命令和公司网络太坑,就放弃了,于是改了win平台搭建。 准备 win10电脑一台 手机一部步骤: 1.下载appium服务端和python客户端 2.配置ANDROID_HOME环境变量 3.运行脚本step1.直接网站下载appium服务端,exe直接安装 https://bitbucket.org/ap原创 2016-03-26 16:34:22 · 3458 阅读 · 0 评论 -
JMeter简介--官方部分翻译文档
这是一片翻译文章,非全文翻译,只是提取重要信息 来自jmeter的源码项目 这次总结提到前面来: 1.JMeter是一个接口工具,除了常规的接口验证,也提供多鲜橙并发验证,也就是性能了 2.支持多种协议 3.图形化界面,多种结果输出,还支持远程连接 4.也可以自定义定制,直接开发jar包就完成了 :) (待验证) A P A C原创 2016-04-26 18:20:59 · 1923 阅读 · 0 评论 -
接口持续集成测试----一个非常初级但还是有效果的方案
一直是这个思路,今天重写一下吧,一直想做成一个高度整合的类。另外,jenkins可以直接捕获exception,然后自动提单,很简略的接口自动化方案,不过效果还是可以滴,这里分享的是重写后的请求检测类。之所以要自己实现这些,主要是因为现有的开源接口框架(jmeter)没办法根据返回值里面不确定的字段做解析,所以只能自己解析,自己拼接了。使用方法: new ConnectBase(“http://原创 2016-04-30 13:12:11 · 1416 阅读 · 0 评论 -
Robotium整体源码浅析
概述在分析源码之前,我们先来看看robotium给我们提供了什么样的类。 入口在对整体有了一个认知之后,我们从solo类入口,因为solo是robotium的入口类,也是最重要的类,先来看看构造方法:private Solo(Config config, Instrumentation instrumentation, Activity activity) { if(config.c原创 2016-05-09 18:01:39 · 2192 阅读 · 0 评论 -
app复杂业务逻辑自动化验证案例分享
这两天公司没什么事情,赶紧总结一下上半年的学习成果,上一篇文章是介绍了上传专项测试,这一篇是通过自动化减少测试人力的案例,如果有任何建议请联系我。 专项测试案例–上传成功率对比专项测试 今天这一篇,会给大家分享app自动化在项目中验证复杂逻辑的应用。在上一阶段,是实现了UI自动化对主流程的监控,只有apk版本通过了基本的UI自动化用例,才可以提测,一定程度提高了转测的产品质量,提升了我们测试的原创 2017-11-06 18:14:41 · 1560 阅读 · 0 评论