自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hunterno4的专栏

make the app world better~ 书籍推荐:《腾讯Android自动化测试实战》

  • 博客(54)
  • 资源 (4)
  • 收藏
  • 关注

转载 应用宝基于Robotium自动化测试

Android端自动化测试框架Robotium相必大家耳熟能详,但如何运用到实际项目中?如何编写测试用例?如何处理WebView?如何处理跨应用?如何生成测试报告?如何进行持续集成?与TMQ小编在应用宝的实际项目经验中,一起探寻吧~ 链接:http://tmq.qq.com/2016/05/robotium_for_app_test/【TMQ(腾讯移动品

2016-05-27 20:06:11 1339

原创 spoon+robotium+jenkins进行自动化持续回归测试

自动化测试的意义:        别说是外行人,即使是正在从事自动化测试工作的人来说,现在或曾经都或多或少有过这样的疑惑,辛苦写了自动化测试用例,却基本发现不了问题,其意义何在?在说明这个意义前先看下质量的定义。质量的定义:        维基百科中对于品质(Quality)的定义:中国大陆亦称为“质量”,可指物品的特征、品性、本质,也可指商品或服务的水准、质量。影响品

2015-02-07 20:07:58 12034 29

原创 Android获取Toast的String解析

在测试自动化的过程中,有时经常需要获取Toast的String来作检验。在robotium中,我们知道可以通过solo.getView("message")方法获取Toast的TextView,然后得到其String值,那么其内部是怎么实现的呢。首先看下我们一般是怎么调用Toast的:Toast.makeText(getApplicationContext(), "再按一次退出程序",

2015-01-31 17:15:21 5983 4

原创 Test run failed: Instrumentation run failed due to 'Process crashed.'解析

在使用基于Instrumentation测试框架如robotium时,Test run failed: Instrumentation run failed due to 'Process crashed.'这个报错估计大多数人都遇到过,Android的应用是以Linux进程的概念在运行的,而Instrumentation与被测应用运行在同一个进程中,当被测应用的进程在Instrumentatio

2015-01-31 16:20:24 27582 1

原创 Jenkins分布式构建

Jenkins分布式构建(Jenkins Distributed builds)前言:当自动化测试用例需要在多个PC机或虚拟机中执行时,如果在每个虚拟机中均搭建类似tomcat+jenkins的环境,将会造成例如每台虚拟机资源占用大、对环境的配置维护成本大等弊端,此时,就可以采用Jenkins分布式构建方式了。一、Jenkins节点配置1.Master配置1)进入Maste

2014-11-23 17:26:55 20974 1

原创 SonarQube升级

1.阅读SonarQube更新日志:http://docs.codehaus.org/display/SONAR/Upgrading#Upgrading-ReleaseUpgradeNotes2.停止SonarQube服务:bin//sonar stop3.下载新版本的SonarQube及SonarQube Runner,并解压至新的目录NEW_SONARQUBE_HOMEht

2014-08-19 22:32:50 9657 1

原创 SoapUI命令行方式运行

SoapUI支持用命令行方式运行测试用例并生成测试报告,因此使用SoapUI可以很好地进行接口测试自动化测试以及持续集成。首先查看testrunner.sh脚本支持哪些选项直接执行testrunner.sh将给出帮助手册:soapUI Pro 4.5.2 TestCase Runnerusage: testrunner [options] -F    Report form

2014-08-07 21:28:41 11234 2

原创 Jenkins控制台中乱码问题

由于服务器环境及应用层各版本的不同、编码方式的不同因此会有很多种情况会出现乱码问题。由于Jenkins中的job运行的是独立的一个shell环境,许多的环境变量与服务器中是不一样的,因此在job中执行的命令也就会有所差异。因此可以在job中执行env命令,同时在服务器中执行env命令查看环境的异同点。对于Jenkins中乱码问题,首先,确保Jenkins的容器如Glassfish,To

2014-08-07 20:42:07 30165 2

原创 robotium原理之获取WebElement元素

robotium框架支持WebView,在robotium中有getWebElements()、getWebElements(By by)等方法来获取android中的WebView的元素,并提供了 clickOnWebElement方法来完成点击事件.android中的原生控件是比较好获取的,那么对于WebView这个框架是怎么获取的呢。第一步:利用JS获取页面中的所有元素 在PC

2014-06-28 17:34:53 14582 8

原创 西班牙式软件团队

足球运动有超过百年的历史,相对于只有几十年的软件工程学来说,成熟的足球哲学与理论肯定有值得借鉴的地方,那么作为一项极注重团队配合、组织架构与软件团队也比较像的足球运动,有哪些地方可以参考呢?        近年来西班牙连续夺得了2008、2012年欧洲杯冠军、2010年世界杯冠军。作为连续三界大赛的冠军得主,西班牙足球也已经成为众多国家队、俱乐部研究与学习的对象。即使近期西班牙足球久居巅峰后出

2014-06-15 15:14:58 1799

原创 Android应用性能测试

对于Web网页来说,页面的访问、加载速度对于用户体验来说是很重要的,而如果把Android中的每个Activity都看成是一个页面的话,Activity的启动速度凭主观的话是较难精确衡量的,因此如果可以测试每个Activity的启动速度或者获得其它基本指标并进行日常监测那就更好了。一、编写继承于Instrumentation类的LaunchPerformanceBase类/*** Bas

2014-04-07 21:18:14 5510 6

原创 持续集成与持续交付备忘录

一本好书使您改变。它将改变您的思想,您看待问题的角度和方式,最终,它将改改您的行为。然而,所有具有重要意义的改变都不会是在一夜之间发生的,如果您相信这种变革必会发生,不妨朝着这个方向去努力,经常改变,每次改变一点点。                                                                                         

2014-03-29 22:54:50 3200

原创 Robolectric环境搭建——运行RobolectricSample示例工程

Robolectric简介在android平台上运行单元测试用例需要真机或模拟器,从构建、部署、到启动应用程序通常需要好几分钟,这对于TDD来说太慢了,也许尝试过在IDE上直接运行测试用例,但得到的只能是java.lang.RuntimeException: Stub!Robolectric是一个Android平台上的单元测试框架,允许单元测试直接运行于JVM之上,大大加快了运行速度。

2014-03-06 21:30:36 11220

原创 android应用抓包

前言:对于移动端应用来说,常常是需要进行抓包分析数据参数的,android抓包常规想到的解决方案就是通过adb、tcpdump生成抓包文件后,上传至PC端,再通过wirshark查看抓包的数据,但是,对于android应用来说,客户端与服务端的交互更多的是以REST接口服务形式的,多基于HTTP/HTTPS协议,采用tcpdump方式缺点也就比较明显:1、手机需要root权限2、操作过程麻

2014-02-26 20:54:48 10081

原创 Linux Shell笔记之gawk

gawk:Unix中原始awk程序的GNU版本,强大之处在于可以写脚本来读取文本行的数据,然后处理并显示数据。命令格式:gawk options program file一、gawk基础1.命令行读取程序脚本# gawk '{print "hello world"}'           //gawk假定脚本是单个文本字符串,须将脚本放到单引号中hellohello w

2013-12-22 17:06:32 12351

原创 Linux Shell笔记之sed

sed:流编辑器,stream editorsed编辑器本身不会修改文本文件的数据,只会将修改后的数据发送到STDOUT命令格式:sed options script file一、sed基础1.定义编辑器# echo "this is a test" | sed 's/test/sed test/'           //将test替换为sed testthis is

2013-12-03 20:38:58 4528

原创 Linux Shell笔记之正则表达式

Linux中,两种流行的正则表达式引擎1.POSIX基本正则表达式(BRE)引擎2.POSIX扩展正则表达式(ERE)引擎sed编辑器只实施了BRE引擎规范的子集gawk程序使用ERE引擎一、基本正则表达式BRE1.纯文本# echo "This is a test"| sed -n '/this/p'            //区分大小写# echo "T

2013-11-30 16:52:07 2418

原创 Linux Shell笔记之函数

1.创建函数#!/bin/bashfunction func1 {                     function关键字创建函数   echo "this is func1"}func2() {                            接近其它语言形式的函数echo "this is func2"}func1            

2013-11-22 10:46:52 10109

原创 Linux Shell笔记之脚本控制

1.处理信号信号   值               描述1       SIGHUP      挂起进程2       SIGINT         终止进程3       SIGQUIT      停止进程9       SIGKILL       无条件终止进程15     SIGTERM    可能的话终止进程17     SIGSTOP    无条件停止进程,

2013-11-15 21:07:46 3684

原创 Linux Shell笔记之输入与输出

一、获取输入1.命令行参数#!/bin/bashname=`basename $0`                       $0参数获取shell在命令行启动的程序的名字,basename命令去掉路径echo "current command is $name"if [ -n "$1" ] && [ -n "$2" ]            $1、$2分别代表第一个参数与

2013-11-10 16:54:29 2127

原创 Android自动化测试生成单元测试结果报告

使用robotium进行Android应用进行自动化测试,之前用TMTS框架,但收集到的单元测试结果常常会少掉一些用例集。。穷则思变,Android的测试框架主要是通过InstrumentationTestRunner对被测应用进行控制与执行,因此可以对InstrumentationTestRunner进行扩展以完成测试结果收集,然后通过jenkins的Publish JUnit test r

2013-11-07 21:33:53 13985 3

原创 Linux Shell笔记之结构循环

一、条件语句1.if—then#!/bin/bashif date              如果命令运行成功(退出码为0),则then部分的命令被执行then   echo "good"fi2.if—then—else#!/bin/bashif hunterthen   echo "good"else    echo "bad"      

2013-11-05 21:52:11 2103

原创 Linux Shell笔记之准备篇

一、基础bash shell命令1.shell提示符PS1       控制默认命令行提示符的格式[hunterno4@localhost ~]$ echo $PS1[\u@\h \W]\$PS2       控制后续命令行提示符的格式[hunterno4@localhost ~]$ echo $PS2>[hunterno4@localhost ~]$ PS

2013-11-03 16:01:02 1669

原创 SonarQube中监测循环、包耦合度情况

一、为什么要监测循环、包耦合度情况? 耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准。 耦合度很高的情况下,维护代码时修改一个地方会牵连到很多地方,如果修改时没有理清这些耦合关系,那么带来的后果可能会是灾难性的,特别是对于需求变化较多以及多人协作开发维护的项目,修改一个地方会引起本来已经运行稳定的模块错误

2013-10-20 15:27:38 11631 5

原创 SonarQube代码质量管理平台安装与使用

Sonar简介Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测sonarQube能带来什么?Developers' Seven Deadly Sins1.糟糕的复杂度分布

2013-09-14 16:57:52 215347 39

原创 SoapUI用groovy脚本提取json数组数据

前言:利用SoapUI进行数据源驱动测试,如果数据源是固定的,使用DataSource方法读取xls文件中的数据是很方便的,但是如果数据源不是固定的,需要从接口返回中的数据中动态获取的,这时就得动态去获取返回值的数据了。在android中json数组数据是比较常见的,如先请求一组数据得到新闻列表,当点击列表中的新闻时,再根据ID去请求新闻正文。例如如下数据,calendar_id是需要根据

2013-09-07 14:04:57 10463 3

原创 oracle数据库恢复与备份

一、oracle数据库恢复1.恢复刚才删除的一条数据delete from emp e where e.empname='SMITH'select * from flashback_transaction_query f where f.table_name='EMP'UNDO_SQL下面的语句为刚才删除数据的相反操作,执行该语句即可恢复刚才删除的数据在11g版本中

2013-08-31 22:17:24 2095

原创 使用Jmeter测试JMS

前言:使用Jmeter测试ActiveMQ的JMS消息,网上有一篇,但是图片看不了,具体参数填什么也不清楚,因此决定总结这篇所使用的Jmeter版本2.8,activemq版本5.6一、创建jndi.properties文件由于 jmeter 是通过 jndi 来获得 jms 中相关对象的,如 ConnectionFactory 和 Destination,所以在 jmet

2013-08-21 20:17:27 8599 2

原创 android自动化测试中实现长按并拖动

android应用自动化过程中,会遇见需要长按并拖动的场景,例如类似UC浏览器中,长按某个导航中的图标,使其处于可移动状态,然后再将其移动到另一个地方,与其它导航图标换个位置,在robotium中有个drag(float fromX, float toX, float fromY, float toY,int stepCount)方法,但由于drag没有长按这个步骤,因此不能使应用处于可移动的状态

2013-08-19 21:29:47 8399 2

原创 android自动获取短信验证码

好吧,标题党了~前言:android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码。主要就是实时获取短信信息。android上获取短信信息主要有BroadcastReceiver方式与数据库方式,要实时的话就BroadcastReceiver比较方便public class SMSReceive

2013-08-11 15:36:18 27849 6

原创 java基本IO

一、文件和目录,File类File f = new File("d:\\test.txt");f.createNewFile();二、输入流及输出流1.单字节数据读取1)文件字节输入流,FileInputStream,继承自InputStreampublic static void main(String[] args) throws Exception {

2013-08-07 22:21:07 1750

原创 java数据结构

一、List接口,有序的Collection接口,能够精确地控制每个元素插入的位置,允许有相同的元素1.链表,LinkedList实现了List接口,允许null元素,提供了get()、remove()、insert()方法,没有同步方法public void add() { LinkedList List =

2013-08-04 22:11:47 18181 2

原创 探索式软件测试有感

赤裸裸的现实数据表明哪怕项目的自动化系统做的再好,最终问题中的大多数还是得通过手工测试发现,对于更加敏捷的移动端测试,很有必要丰富测试方法与测试理论,而探索式测试就很适合敏捷式测试。1. 缺陷预防和缺陷检测        测试人员更多的都是在关注缺陷检测上,主要任务也确实是缺陷检测上。读完此书的最大感想之一就是缺陷预防的重要性,尽管缺陷预防工作一般都是由开发人员完成。尽量减少错误并提高

2013-07-21 13:53:59 5496

原创 Jenkins任务构建后notification形式通知到手机

Google Cloud Messsaging Notification Plugin前言:构建任务后希望能及时得到构建结果,发送邮件只能上班时会看到,因此希望能在手机上及时得到结果当然以notification形式如果手机没开网络的话也常常是不能及时收到的,若有发短信的接口当然更好了,这里是求其次的方案GCM插件还有个好处是点击通知后,可以直接在手机浏览器上打开Jenkins(前提是

2013-07-19 20:43:52 7565

原创 Jenkins+PMD构建自动化静态代码检测

前言:软件缺陷是不可避免的,要尽量减少错误并提高软件质量,主要有两在类技术,即缺陷预防和缺陷检测缺陷预防包括编写更好的设计规范、实施代码审核制度、运行代码静态分析工具、运行单元测试等PMD是一种开源分析Java代码的工具,通过静态分析获知代码错误,该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等等因此Jenkins+PMD构建自动化静

2013-07-11 22:22:37 12077 5

原创 SoapUI对于Json数据进行属性值获取与传递

SoapUI的Property Transfer功能可以很好地对接口请求返回的数据进行参数属性获取与传递,但对于Json数据,SoapUI会把数据格式先转换成XML格式,但实际情况却是,转换后的XML格式往往根本没法用Xpath形式获取到指定的数据了。因此只能用Script脚本形式了。{"addUsersToDirectoryResponse":{"addUserToDirectoryResp

2013-07-07 15:40:57 17171 1

原创 android渠道包自动化验证

前言:android应用每当发布一个版本时,往往需要打许多的渠道包,用于不同渠道的运营推广,传统的渠道包验证往往是安装某个apk包,然后打开eclipse,运行应用,查看其中的运行日志,看发送的请求中是否带有该渠道信息。        如此这般,若有上百个渠道包,是没可能每个包都去验证的,且若后期新增的渠道,亦还需抽空去验证下apk渠道包,虽然并不是很耗时间,但常常被这样的事打断日常工作还是会

2013-06-26 20:50:05 8316 3

原创 Linux下构建robotium+jenkins+TMTS可持续集成自动化测试

前言为什么要在Linux上构建自动化环境呢?因为在Linux上执行速度要比在Windows快很多,以打包apk为例,至少快一倍。。。如果公司每个版本要打几百个apk渠道包,这效率将大幅提升。软件安装1.安装jdk2.安装tomcathttp://tomcat.apache.org/download-70.cgi3.安装anthttp://ant.apache

2013-06-07 20:50:30 3498

原创 Windows下构建robotium+jenkins+TMTS可持续集成自动化测试

前言TMTS是淘宝的自动化测试构架,优缺点都较为明显优点:最主要的就是已经实现出错截屏并提供日志缺点:比较小众化,遇到问题也无人解答自动化测试终究是要能够持续集成才能有更大的意义的,利用robotium+jenkins可以实现集成测试,但此时要想得到出错截屏加日志就麻烦了。TMTS主要由三部分组成1.TmtsFramework进行自动化用例编写2.TmtsToolk

2013-06-05 21:49:36 6135 1

原创 Cannot run program "/android-sdk-linux/aapt.exe": error=2, 没有那个文件或目录

在用ant编译打包android的apk文件时报错:Execute failed: java.io.IOException: Cannot run program "/android-sdk-linux/aapt.exe": error=2, 没有那个文件或目录首先,确定环境变量没有问题,谷歌之解决:由于系统为Ubuntu 64位系统,而aapt工具需要32位库的支持才能运行因此执行:

2013-05-13 13:52:04 20257 1

buildwatch

buildwatch与Google Cloud Messsaging Notification Plugin插件结合用于在Jenkins构建任务后,将构建信息以通知的形式发送到android手机终端上

2013-07-08

loadrunner11安装时缺少的文件

这是在安装loadrunner11时出现提示说缺少的几个文件,包括Thumbs.db; qtp.tmp; framework_template.js.temp; add_to_xmlmonitorshared.tmp四个文件,安装时之前遇到的几个缺失文件可以通过复制而得,可以百度看网友的回答

2012-08-13

robotium测试之创建测试用例(calculator)

本文在已经创建了AndroidCalculator和AndroidCalculatorTest两个project的基础上创建了一个测试用例用robotium对android应用进行测试;本文从http://code.google.com/p/robotium/官网上下载的文档翻译而得,并经过亲自的实践总结而得。

2012-04-01

robotium测试之创建android实例(calculator)

用robotium进行android应用的测试,这里实现了一个calculator实例,希望对想用robotium进行android测试的人有所帮助。本文根据http://code.google.com/p/robotium官网上下载的文档翻译而成,并经过自己的亲手实践总结而得。

2012-04-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除