1月 15

IOS Monkey测试UI AutoMonkey

UI AutoMonkey

UI AUtoMonkey是一款非常简单的IOS压力测试工具。通过它,你可以向ios设备发送滑动、拖动、旋转、甚至锁屏和解锁指令。原文github地址:https://github.com/jonathanpenn/ui-auto-monkey

安装

如果你的mac电脑已经安装了xcode,那么环境就已经ok了,xcode中已经自带了UI Automation和Instruments。跟着下面的步骤进行操作就可以使用UIAutomonkey.js这个js脚本,进行monkey测试。

  • 首先,使用xcode打开你的ios项目,从“Product”菜单中选择“Profile”(或者直接快捷键Command+i),这样就可以构建ios项目,并启动工具模板选择器。 继续阅读
12月 20

Jmeter拓展插件(jmeter-plugins)

Jmeter是一款开源的性能测试工具,纯java编写,体积小,功能强大,基本可以满足性能测试需求。另Jmeter还右一系列的插件来增强其功能,插件地址jmeter-plugins.org.插件现在有5个,分别是Standard set,Extras set,Extras with Libs set,WebDriver set,Hadoop set。

Standard Set(标准插件集)

基本的插件,用于满足日常需求。不需要第三方jar包,地址http://jmeter-plugins.org/wiki/StandardSet/. 继续阅读

12月 06

Android Monkey测试

Android中的monkey是对app做界面压力测试的一款工具,它可以向模拟器或者真机发送一系列随机的用户操作事件、或者系统事件。

概述

Monkey是android sdk自带的一款命令行工具,适用于任何android模拟器或者真机。它通过向手机发送一系列的随机事件,来测试手机app的稳定性。

Monkey命令包含一些参数,大体可以分为四类: 继续阅读

12月 05

如何在Root的手机上开启ViewServer,使得HierachyViewer能够连接

关于什么是Hierarchy Viewer,请查看官方文档:http://developer.android.com/tools/debugging/debugging-ui.html。个人理解:Hierarchy Viewer能获得当前手机实时的UI信息,给界面设计人员和自动化测试人员带来极大的便利。写android自动化的时候,能够获取控件的id属性。

在Android的官方文档中提到:
To preserve security, Hierarchy Viewer can only connect to devices running a developer version of the Android system.
即:出于安全考虑,Hierarchy Viewer只能连接Android开发版手机或是模拟器(准确地说,只有ro.secure参数等于0且ro.debuggable等于1的android系统)。Hierarchy Viewer在连接手机时,手机上必须启动一个叫View Server的客户端与其进行socket通信。而在商业手机上,是无法开启View Server的,故Hierarchy Viewer是无法连接到普通的商业手机。 继续阅读
10月 28

HttpClient 4.3教程 第六章 HTTP缓存


6.1.基本概念

HttpClient的缓存机制提供一个与HTTP/1.1标准兼容的缓存层 – 相当于Java的浏览器缓存。HttpClient缓存机制的实现遵循责任链(Chain of Responsibility)设计原则,默认的HttpClient是没有缓存的,有缓存机制的HttpClient可以用来临时替代默认的HttpClient,如果开启了缓存,我们的请求结果就会从缓存中获取,而不是从目标服务器中获取。如果在Get请求头中设置了If-Modified-Since或者If-None-Match参数,那么HttpClient会自动向服务器校验缓存是否过期。 继续阅读

10月 25

下载百度音乐无损品质音乐


使用百度音乐时,可以添加收藏,收藏后的音乐列表会保存在http://yinyueyun.baidu.com中,并且提供下载链接。用java简单写了个下载自己收藏音乐的程序,过程中发现对于VIP的无损音乐,下载链接已经给出来了,只是在前台做了限制,这个,这个。。。。(Bug已经报给百度音乐,这里的代码只为方便自己和代码分享)。

本来想用用户名和密码登陆百度账号,可是在登陆时需要传递一个参数callback,这个参数不是服务器发送过来的,怀疑是根据什么参数在本地计算出来的,看不太懂js,这个功能就没实现。

使用步骤如下: 继续阅读

10月 22

HttpClient4.3 教程 第五章 快速API


5.1.Easy to use facade API

HttpClient从4.2开始支持快速api。快速api仅仅实现了HttpClient的基本功能,它只要用于一些不需要灵活性的简单场景。例如,快速api不需要用户处理连接管理和资源释放。

下面是几个使用快速api的例子:

    // 执行一个get方法,设置超时时间,并且将结果变成字符串
    Request.Get("https://www.yeetrack.com/")
            .connectTimeout(1000)
            .socketTimeout(1000)
            .execute().returnContent().asString(); 继续阅读 
10月 18

android-maven-plugin 点9图片问题


使用android-maven-plugin插件搭建android CI的时候,遇到点9图片报错问题,报错信息如下:

    ERROR: 9-patch image Project/res/drawable-  hdpi/input_03_mid.9.png malformed.
    [INFO]        Must have one-pixel frame that is either transparent or white.
    [INFO] ERROR: Failure processing PNG image Project/res/drawable-hdpi/input_03_mid.9.png

然后是报一堆资源找不到的错误。

项目在Eclipse、Idea等ide下编译、运行正常。 继续阅读

10月 13

HttpClient4.3教程 第三章 Http状态管理



最初,Http被设计成一个无状态的,面向请求/响应的协议,所以它不能在逻辑相关的http请求/响应中保持状态会话。由于越来越多的系统使用http协议,其中包括http从来没有想支持的系统,比如电子商务系统。因此,http支持状态管理就很必要了。

当时的web客户端和服务器软件领先者,网景(netscape)公司,最先在他们的产品中支持http状态管理,并且制定了一些专有规范。后来,网景通过发规范草案,规范了这一机制。这些努力促成 RFC standard track制定了标准的规范。但是,现在多数的应用的状态管理机制都在使用网景公司的规范,而网景的规范和官方规定是不兼容的。因此所有的浏览器开发这都被迫兼容这两种协议,从而导致协议的不统一。

3.1.Http cookies

所谓的Http cookie就是一个token或者很短的报文信息,http代理和服务器可以通过cookie来维持会话状态。网景的工程师把它们称作“magic cookie”。 继续阅读

10月 11

CloseableHttpClient加载证书来访问https网站

对安全性有要求的网站一般使用https来加密传输的请求和响应。https离不开证书,关于证书不在多说。Apache的HttpClient支持https,下面是官方的样例程序,程序中使用了my.store这个文件,这个文件不是网站的证书,而是一份包含自己密码的自己的证书库。这个文件是需要自己生成的,使用jdk中的keytool命令可以很方便的生成my.store文件。步骤如下(以支付宝为例):

  1. 浏览器(以chrome为例)访问https://www.alipay.com/,点击域名左侧的小锁,可以查看支付宝的证书信息

    继续阅读