移动开发 android 测试
文章平均质量分 95
whackw
测试相关,尽量做到比开发与运维还要牛
展开
-
Python 性能优化
转自http://www.oschina.net/question/1579_45822第一部分 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!" 毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥转载 2015-01-26 19:54:16 · 669 阅读 · 0 评论 -
hierarchyviewer和uiautomatorviewer获取控件原理
通过对hierarchyview的源码分析,我尝试用java写了一个测试工具,该测试工具简单的实现了连接ViewServer获取控件信息,然后根据控件信息的坐标属性来点击按钮。 1.RunTime执行CMD命令,连接ViewServer。 2.获取控件信息以后,得到可点击的按钮。 3.Java调用Monkeyrunner API对按转载 2015-01-29 09:50:17 · 3158 阅读 · 2 评论 -
SAFS-Software Automation Framework Support
SAFS is a software test automation framework supporting data-driven (aka keyword-driven) functional test automation and associated services. The framework can run stand-alone on Windows, Linux, and转载 2015-01-29 21:02:59 · 668 阅读 · 0 评论 -
uiautomator介绍和使用
最近在学习uiautomator,网上看到的相关资料比较少,在这里做一下总结。Uiautomator,顾名思义,是用于ui自动化测试的,主要是仿真单击,滑动,输入文本等操作,而不用人为地进行操作,如果把一组反复进行的操作用uiautomator实现,那么将大大提高效率。但是uiautomator使用范围非常有限,学习之后会知道,在uiautomator中,每一个ui控件都是Ui转载 2015-01-29 10:09:44 · 944 阅读 · 0 评论 -
robo-remote
RoboRemote - A remote control framework for Robotium and UIAutomatorOverviewRoboRemote is a remote control framework for Robotium/UIAutomator. The goal of RoboRemote is to allow for more com转载 2015-01-29 19:42:50 · 712 阅读 · 0 评论 -
adb 通信协议
adb通信分为两部分:adb client和adb server,以及adb server和adb daemon。 client和server之间的通信协议adb server对本地的tcp 5037号端口进行监听,等待adb client的命令。client的每个命令都会包含两个部分,前一部分固定4个字节,以十六进制方式指定命令部分的长度。后一部分是真正的内容。发送命令的接口为转载 2015-01-29 11:34:20 · 945 阅读 · 0 评论 -
Robolectric Test-Drive Your Android Code
RobolectricTest-Drive Your Android CodeRunning tests on an Android emulator or device is slow! Building, deploying, and launching the app often takes a minute or more. That’s no way to do TDD.转载 2015-01-30 09:42:34 · 724 阅读 · 0 评论 -
Robolectric例子跑通
Robolectric例子跑通更多0AndroidRobolectric: http://pivotal.github.com/robolectric/Android测试太慢了,每次发布再加上从头点起,最快也要1分钟才能开始手动测试,非常浪费时间。今天把这个跑通了,很简单,在junit中跑测试非常快,几秒钟就测完。使用方法不像官网上写的那么误导人,不需要转载 2015-01-30 09:27:33 · 903 阅读 · 0 评论 -
Calabash Android 简介
什么是 Calabash?Calabash 是一个自动化测试框架,它可以测试 Android 和 iOS 原生应用和混合应用。它有:calabash-androidcalabash-ios主页: http://calabash.shCalabash-android介绍Calabash-android 是支持 android 的转载 2015-01-30 10:10:15 · 1632 阅读 · 0 评论 -
Python的传值和传址与copy和deepcopy
Python的传值和传址与copy和deepcopy1.传值和传址传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变,用传值传入的参数是不会改变的,用传址传入就会。a=1def f(b): b=2f(a)print a例如这段代码里面,转载 2015-01-10 18:00:11 · 762 阅读 · 0 评论 -
Android Debug Bridge-adb命令全集(官方)
Android Debug BridgeIN THIS DOCUMENTEnabling adb DebuggingSyntaxCommandsQuerying for Emulator/Device InstancesDirecting Commands to a Specific Emulator/Device InstanceInstalling转载 2015-01-10 11:10:12 · 1897 阅读 · 0 评论 -
combination of RobotiumRC and JBehave
Testing Android Apps with Robotium and JBehave13 MAY 2013 2 COMMENTSThe purpose of the article is to implement a Behavior Driver Development (BDD) infrastructure for Android applications wit转载 2015-01-29 20:56:15 · 1058 阅读 · 0 评论 -
十款免费移动应用测试框架
无论是iOS还是Android应用,各种Bug、终端测试都很让人头疼,而移动应用测试框架则可以帮助开发者简化测试流程,从而很好地解决这一问题。本文详细介绍了当下最受开发者喜爱的十款免费应用测试框架,快来看一看吧。对于移动应用开发者而言,Bug往往是最让人头疼的一大问题。不同于时时刻刻可以修补的Web App,移动App中的Bug往往隐藏得很深,甚至有时候等到用户使用才显现出来,这么一来转载 2015-01-30 10:20:22 · 711 阅读 · 0 评论 -
测试一个android应用市场APK
最近闲来无事写了一个Robotium的小工具,脑袋里YY着诸多功能的实现,没想到临门一脚把我搞吐血了,特来求一下实现思路,先阐述一下我目前实现的思路一、项目背景:一个android应用市场APK一个已经打包封装成APK的robotium脚本二、各组件:1.一个功能类似于Monkey的robotium脚本,动态获取当前设备屏幕宽,高,去掉信号栏高度,然后随机数生成一个坐标转载 2015-01-30 12:58:55 · 923 阅读 · 0 评论 -
自动化测试框架指南
2008-11-14 作者:杨学明 来源:cnblogs 这 是我以前写的一篇文章,用于整理自己对自动化测试的理解。当时写这个文章的目的,是因为刚刚掌握QTP,又使用自动化测试参与公司一个大项目的测试,结果 发现原来掌握QTP距离自动化测试还有很遥远的路要走,原来一直以为掌握了QTP的脚本编写、可以写出所有的测试方法脚本则自动化测试就可以大功告成了。转载 2015-01-30 13:44:07 · 659 阅读 · 0 评论 -
自动化测试框架模型SAFS
SAFS(Software Automation Framework Support)是一个 开源 的支持多平台的 自动化测试 框架,由SAS Institute的Carl Nagle 开发 ( http://safsdev.sourceforge.net/Default.htm )。下图描述了这个模型的结构: 这个模型由测试表、核心数据驱动引擎、成员 SAFS(Software转载 2015-01-30 13:47:40 · 1119 阅读 · 0 评论 -
Python模块学习 ---- subprocess 创建子进程
最近,我们老大要我写一个守护者程序,对服务器进程进行守护。如果服务器不幸挂掉了,守护者能即时的重启应用程序。上网Google了一下,发现Python有很几个模块都可以创建进程。最终我选择使用subprocess模块,因为在Python手册中有这样一段话: This module intends to replace several other, older modules and funct转载 2015-01-12 09:52:49 · 729 阅读 · 0 评论 -
How To Use Linux epoll with Python
How To Use Linux epoll with PythonContentsIntroductionBlocking Socket Programming ExamplesBenefits of Asynchronous Sockets and Linux epollAsynchronous Socket Programming Examples with ep转载 2015-01-13 14:28:06 · 1064 阅读 · 0 评论 -
STAF的原理及使用
STAF全称是Software Testing Automation Framework,如其官网(http://staf.sourceforge.net/)所说,STAF是一个开源、跨平台、支持多语言的自动化测试框架,它围绕于组件重用的理念,通过服务调用(比如Process Service、Resource Manage Service、Logging Service、Monitoring转载 2015-01-30 13:47:58 · 866 阅读 · 0 评论 -
Epoll模型详解
Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后 首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在 我用的2.6.15-25-386内核中,该值是1024,搜转载 2015-01-13 11:26:55 · 513 阅读 · 0 评论 -
[系统编程] epoll的一点总结
原文地址:[系统编程] epoll的一点总结 作者:crazyhadoop在linux的网络编程中,新的事件触发机制-epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头转载 2015-01-13 11:25:45 · 515 阅读 · 0 评论 -
SAFS/STAF/STAX自动化测试框架
上一次,向大家介绍了Openqa.org社区提供的、适合web应用的、开源的自动化测 试框架 (开源测试工具/社区(Selenium /OpenQA.org)——今非昔比 )。最近,看到STAF+STAX发布了最新版本,包括许多服务组件,可以看出STAF+STAX的框架越来越完整,值得向大家推荐。 September 24, 2008: STAF 3.3.1, STAX 3.3.4, Cr转载 2015-01-30 13:41:46 · 740 阅读 · 0 评论 -
epoll的各个事件触发条件测试
epoll的各个事件触发条件测试1、listen fd,有新连接请求,触发EPOLLIN。2、对端发送普通数据,触发EPOLLIN。3、带外数据,只触发EPOLLPRI。4、对端正常关闭(程序里close(),shell下kill或ctr+c),触发EPOLLIN和EPOLLRDHUP,但是不触发EPOLLERR和EPOLLHUP。 关于这点,以前一直以为会触发EPOLL转载 2015-01-13 11:11:23 · 4720 阅读 · 0 评论 -
彻底学会使用epoll(四)——ET的写操作实例分析
首先,看程序四的例子。l 程序四点击(此处)折叠或打开#include unistd.h>#include iostream>#include sys/epoll.h>using namespace std;int main(void){ int epfd,nfds; str转载 2015-01-13 16:23:22 · 848 阅读 · 0 评论 -
UNIX网络编程之epoll 的accept , read, write(重要) C语言版本
在一个非阻塞的socket上调用read/write函数,返回EAGAIN或者EWOULDBLOCK(注:EAGAIN就是EWOULDBLOCK)。从字面上看,意思是: EAGAIN: 再试一次EWOULDBLOCK:如果这是一个阻塞socket, 操作将被blockperror输出:Resource temporarily unavailable总结:转载 2015-01-13 13:58:47 · 932 阅读 · 0 评论 -
epoll 事件的检测
epoll 事件的检测1.。。epoll 事件中发现就EPOLLIN , EPOLLOUT , EPOLLPRI可以用.EPOLLERR 和 EPOLLHUP什么情况下才能监测出这种问题啊.我的内核是2.6.20可是用EPOLLRDHUP的时候编译包错.RecvMessThread.cpp:48: error: 'EPOLLRDHUP’ was not de转载 2015-01-13 14:36:30 · 544 阅读 · 0 评论 -
Epoll在LT和ET模式下的读写方式
在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block,perror输出: Resource temporarily unavailable总结:这个错误表示资源暂转载 2015-01-14 13:53:59 · 663 阅读 · 0 评论 -
经典python epoll(ET)
import socket, select23 EOL1 = b'\n\n'4 EOL2 = b'\n\r\n'5 response = b'HTTP/1.0 200 OK\r\nDate: Mon, 1 Jan 1996 01:01:01 GMT\r\n'6 response += b'Content-Type: text/plain\r\nContent-Leng转载 2015-01-14 14:35:03 · 792 阅读 · 0 评论 -
jar命令生成可执行jar包【小结】
1、创建可执行的jar包。手工写manifest.mf文件(jar命令自动生成的MANIFEST.MF文件中不会包含Main-Class属性),举例说明:目录结构:mymanifest.mf //该文件可以随意放置,只要在执行jar命令时指定mymanifest.mf文件所在位置.-src -test Test.classtest.Test代码:转载 2015-01-15 17:43:46 · 496 阅读 · 0 评论 -
java命令生成可执行的jar包
1. 新建需要将生成的class文件存放的路径2. 切换到源文件demo.java所在路径 执行 javac -d e:\myclass MyMenuDemo.java 执行成功,得到class文件。同样方式生成多个class文件。3.切换到class所在目录, 执行 jar -cvfm my.jar mainconfi转载 2015-01-15 17:46:15 · 669 阅读 · 0 评论 -
反编译工具jad的使用
反编译工具jad的使用from:http://www.javaresearch.org/article/55024.htm这是jad的readme文件jad -sjava example1.classjad的主页是:http://www.geocities.com/SiliconValley/Bridge/8617/jad.htmlCopyright 2000 Pa转载 2015-01-16 12:43:13 · 684 阅读 · 0 评论 -
python技巧31[判断操作系统类型]
经常地我们需要编写跨平台的脚本,但是由于不同的平台的差异性,我们不得不获得当前所工作的平台(操作系统类型)。 代码如下:import platformdef TestPlatform(): print ("----------Operation System--------------------------") #Windows will转载 2015-01-15 16:58:07 · 517 阅读 · 0 评论 -
如何将.class文件反编译为.java文件
反编译工具jad简单用法 以下假设jad.exe在c:\java目录下 一、基本用法 Usage:jad [option(s)] 直接输入类文件名,且支持通配符,如下所示。 c:\java\>jad example1.class c:\java\>jad *.class 结果是将example1.class反编译为example1.jad。将example1.jad改为exampl转载 2015-01-15 17:38:06 · 936 阅读 · 0 评论 -
Android原生(Native)C开发
在以前的一篇博客中,学习了Android原生(Native)C开发之的环境搭建。 这样就可以在android中编译native c程序了。今天要学习的是如何在android的源文件中增加一个新的模块。Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk.Android转载 2015-02-04 16:23:33 · 663 阅读 · 0 评论 -
android.test.InstrumentationTestRunner解析
在学习Android、JUnit的过程中,随着学习的深入,发现相关的内容越来越多,将这些类按照继承关系整理如下:Test—TestCase—AndroidTestCaseTest—TestCase—InstrumentationTestCaseTest—TestSuite—InstrumentationTestSuiteTestListener—–BaseTestRunne转载 2015-02-04 16:30:53 · 815 阅读 · 0 评论 -
通过AndroidTestCase来进行android 单元测试
在以前的博客中介绍过了如何用intrumentation进行android单元测试,其实还有一种方法同样可以,那就是利用AndroidTestCase来做单元测试,intrumentationTestCase和AndroidTestCase都是Junit.framwork.TestCase的子类,二者代表不用的方向。 如果想通过AndroidTestCase,大致可以通过以下几个步骤实现:转载 2015-02-04 16:21:17 · 705 阅读 · 0 评论 -
Netty:一个非阻塞的客户端/服务器框架
Netty:一个非阻塞的客户端/服务器框架作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszsNetty是一个异步事件驱动的网络应用框架,为Java网络应用的开发带来了一些新活力。Netty由协议服务器和客户端所组成,可用于快速开发可维护的高性能软件。Netty应用框架及其工具简化了网络编程,而且由Netty社区进行维护。转载 2015-02-03 21:01:30 · 684 阅读 · 0 评论 -
Python shutil模块
Python shutil模块模块学习步骤一:手册介绍shutil -- High-level file operations 是一种高层次的文件操作工具类似于高级API,而且主要强大之处在于其对文件的复制与删除操作更是比较支持好。相关API介绍copyfile(src, dst)转载 2015-01-15 16:25:47 · 514 阅读 · 0 评论 -
Python标准库之xml.etree.ElementTree
http://www.cnblogs.com/ifantastic/archive/2013/04/12/3017110.html简介Element类型是一种灵活的容器对象,用于在内存中存储结构化数据。[注意]xml.etree.ElementTree模块在应对恶意结构数据时显得并不安全。每个element对象都具有以下属性: 1. tag:strin转载 2015-01-16 20:50:11 · 961 阅读 · 0 评论 -
dx工具(android将jar包转成dex格式二进制jar包工具)
dx工具(android将jar包转成dex格式二进制jar包工具)博客分类: android时钟dx工具二进制jar包 好吧,不得不承认这个工具真心难找,也不知道自己sdk里以前怎么就有了,还好给了师傅一份,现在重装系统从网上找这个工具都找不到。将platform-tools.zip解压,将其内部资源拷贝到android sdk platfor转载 2015-01-15 18:02:50 · 5016 阅读 · 0 评论