-----使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。-----
摘要: 我想在watir框架运行时,在出现错误“FAIL”状态前建立一个快照,就想到了watir的截图功能,在网上找了一些例子(参考:http://www.cnblogs.com/sky_online/archive/2009/12/13/1546252.html),但是不好使,提示“Win32API”的错误。环境:Ruby192+watir3.0.0gem list信息如下:gem listMicrosoft Windows XP [版本 5.1.2600](C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\Administrato 阅读全文
posted @ 2012-12-04 17:52 ZhuQue 阅读(2456) 评论(0) 推荐(2) 编辑
摘要: 测试用例是类似上面的Menu菜单,共9个先看看元素定义(yaml):#频道切换-美食channel_0_link: div(:class,'navMenuBg').li(:id,'num_2').link(:href,'http://beijing.xxxx.com/xxxshi')channel_0_link_on: div(:class,'navMenuBg').li(:id,'num_2').span(:class,'curCorner')#频道切换-娱乐channel_1_link: div 阅读全文
posted @ 2012-11-30 22:27 ZhuQue 阅读(1803) 评论(0) 推荐(0) 编辑
摘要: 现在一个测试项目,发现性能测试机中有很多TIME_WAIT状态的TCP连接,在网上查了一下,这种状态也叫TCP半连接状态。测试环境:9台windows测试机,其中包括一台压力控制机,即controller机器服务器环境:IIS7.0+MS SQL问题表现:controller机器使用其中任何一台windows测试机并发5个vuser或者更多,都会在8分钟或者10分钟左右出现大量的失败交易分析:通过在cmd中查看netstat -ano > d:/port.txt(把netstat打印的信息输出到当前D盘根目录下)查看TCP连接,有大量的TIME_WAIT状态的TCP连接,大约有6W多个t 阅读全文
posted @ 2012-11-28 14:18 ZhuQue 阅读(6444) 评论(1) 推荐(0) 编辑
摘要: 1、中文在Scite编辑器中显示乱码的问题解决方法,使用记事本打开rb脚本,然后另存为,选择编码方式为utf-8,然后保存。在用Scite打开该脚本即可。如何让Scite控制台也正常输出中文?方法如下:打开scite->options,在里面找到"open global options file",把里面的内容全选复制(本来是可以在这里改的,但是由于是全局配置,不建议在这里直接修改),再打开“open user options file”,应该是空白页,把内容全部粘贴过来。这个配置文件是scite的全局配置,比如编码格式,字符集,文字设置,大小,都可以在这里配置。我们 阅读全文
posted @ 2012-11-25 14:33 ZhuQue 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 安装ruby、watir环境后,首先是寻找watir-webdriver代码编辑器的问题啦,在上一遍博文中《Ruby+watir自动化测试环境搭建》中已经提到主要有一下几个:rubymine(开发专用)、SciTE、NETBeans(有支持ruby版本的)、Eclipse(要安装插件 Ruby Development Tools)。Ruby编辑器SciTE下载地址:http://download.csdn.net/detail/wy3552128/4797736我以后打算使用Eclipse作为我的Ruby编辑器,一开始使用的是SciTE来写watir的(学习用)。在网上问了其他做watir、w 阅读全文
posted @ 2012-11-24 11:59 ZhuQue 阅读(4779) 评论(0) 推荐(0) 编辑
摘要: 今天遇到了一个问题,就是ie.goto('http://share.xxxx.com/loginft.php')进来以后,通过:href对象IE打不开我想要的URL页面,其中问过很多人都没有解决,挺奇怪的,用的是IE8,以为是IE选项卡的问题,设置成在新窗口中打开也是不行。最后发现在IE-选项-隐私-弹出窗口阻止程序-设置,把share.xxxx.com添加进去,然后运行watir就可以打开页面中的超链接页面。ie2.link(:href,'http://share.xxxx.com/bencandy.php?fid=6&id=813').clickie 阅读全文
posted @ 2012-11-23 23:15 ZhuQue 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 代码:URL、搜索内容、文本验证点都做成了变量;打开IE后,输入www.baidu.com,输入搜索内容“watir”,点击submit,查询出结果后,使用文本验证点Content去验证百度服务器返回内容。#-------------------------------------------------------------# # Demo test for the Watir controller. # # Simple Google test written by Jonathan Kohl 10/10/04. # Purpose: to demonstrate the followi 阅读全文
posted @ 2012-11-22 17:37 ZhuQue 阅读(1328) 评论(0) 推荐(0) 编辑
摘要: 下载ruby的windows版本的安装程序,下载地址:http://rubyforge.org/frs/?group_id=167或者http://files.rubyforge.vm.bytemark.co.uk/rubyinstaller/下载exe版本的ruby,我下载的是rubyinstaller-1.9.3-p327.exe,有人说ruby1.9.3版本的不稳定,建议用ruby1.8.6版本的,也不知道哪里不稳定,就捡这个版本用吧, 187、192、193版本的没有这个SciTE编辑器(可以网上下载)。安装过程倒是很简单,直接安装在C盘的根目录下即可(C:\Ruby),下面的3个选项 阅读全文
posted @ 2012-11-22 13:39 ZhuQue 阅读(6490) 评论(1) 推荐(0) 编辑
摘要: 做JDBC请求,首先要了解这个JDBC对象是什么,然后寻找响应的数据库连接URL和数据库驱动。 数据库URL:jdbc:sqlserver://200.99.197.190:1433;databaseName=ebank 数据库驱动:com.microsoft.sqlserver.jdbc.SQLServerDriver 下载sqljdbc4.jar放在apache-jmeter-2.6\l... 阅读全文
posted @ 2012-11-20 16:35 ZhuQue 阅读(16987) 评论(4) 推荐(2) 编辑
摘要: 上面是我的参数化数据池,这个可以是txt格式也可以是dat格式,这个格式和loadrunner一样,要求的不是很严格,参数文件随便放在电脑的任意位置就可以。再看看与loadrunner参数化不一样的:1、 jmeter参数文件的第一行没有列名称2、 这里要注意的是参数文件的编码,可以使用记事本另存为就可以修改该编码(编码问题在使用CSV Data Set Config参数化时要求的比较严格)3、 Jmeter的参数化设置没有LoadRunner做的出色,它是依赖于线程设置的(只有CSV Data Set Config参数化方法才有)Jmeter二种参数方法-依赖于函数助手:函数助手可以用过ct 阅读全文
posted @ 2012-11-20 16:28 ZhuQue 阅读(57855) 评论(1) 推荐(2) 编辑
摘要: 和断言、集合点、思考时间、参数化与lr功能基本相同外,jmeter的关联功能也是有的,在一定功能需求方面,jmeter还是该有的都有啦,只是功能微弱一些。关联的方法:方法一,从前一个请求中取,用正则表达式提取器。具体方法,在需要获得数据的请求上右击添加一个后置处理器-->正则表达式提取器引用名称即下一个请求要引用的参数名称,如填写title,则可用${title}引用它。正则表达式中()括起来的部分就是要提取的。.代表任意字符,*代表出现任意次。模板,用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$,$3$等等,表示解析到的第几个值给title。 阅读全文
posted @ 2012-11-19 15:54 ZhuQue 阅读(16431) 评论(0) 推荐(1) 编辑
摘要: 查看Linux系统中TCP连接情况:查看系统tcp连接中各个状态的连接数。netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'查看和本机80端口建立连接并状态在established的所有ipnetstat -an |grep 80 |grep ESTA |awk '{print$5 "\n"}' |awk 'BEGIN {FS=":"} {print $1 "\n"}' |sort |uniq输出每个 阅读全文
posted @ 2012-11-17 11:22 ZhuQue 阅读(1936) 评论(0) 推荐(0) 编辑
摘要: Jmeter中也有集合点,看样子还是很强呀 哇哈哈 它只是通过计时器Synchronizing Timer实现的假集合点功能。 没有时间整理,来实际的,直接上图。 在线程下添加集合点Synchronizing Timer,设置延迟时间(以毫秒为单位) 挪动集合点到登陆请求的上方,运行脚本后,查看结果 阅读全文
posted @ 2012-11-15 18:21 ZhuQue 阅读(8992) 评论(0) 推荐(0) 编辑
摘要: 简述:redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。环境:CentOS 5.5 x64下载安 阅读全文
posted @ 2012-11-14 12:33 ZhuQue 阅读(5752) 评论(0) 推荐(0) 编辑
摘要: 断言就类似LoadRunner中的检查点。对上一个请求返回的信息,做字符串、数据包大小、HTML、XML、图片等做判断,确保返回的信息的准确性。添加响应断言:欢迎您如果登陆页登陆成功,则后台会返回欢迎信息字样断言中可以添加多个断言一起判断,断言中也可以使用参数化方法,进行动态判断。添加断言结果断言判断正确来一次异常的断言来看看jmeter是否在断言结果中返回异常。随意修改断言运行脚本,则会出现断言找不到的提示信息。Jmeter(三)-简单的HTTP请求(非录制)Jmeter(二)-使用代理录制脚本Jmeter(一)-精简测试脚本 阅读全文
posted @ 2012-11-14 11:10 ZhuQue 阅读(41907) 评论(0) 推荐(1) 编辑
摘要: 首先建立一个线程组(Thread Group),为什么所有的请求都要加入线程组这个组件呢?不加不行吗?答案当然是不行的。因为jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。选中线程组(Thread Group),鼠标右键添加HTTP Request。这里不需要cookie管理器(HTTP Cookie Manager),因为这是我们手动添加的请求,不是录制的,但要求不是严格,cookie管理器可加也可不加。我这里有2个请求[全国]0727测试BD信息快递产品01变更03http://p.ftuan.com/mall_quanguo_14448.shtml?s=1000& 阅读全文
posted @ 2012-11-13 12:09 ZhuQue 阅读(23634) 评论(0) 推荐(0) 编辑
摘要: Jmeter脚本是以JMX格式为主Jmeter也是支持录制的,支持第三方录制方式和代理录制方式。1、第三方录制主要是通过badboy来录制,录制后另存为jmx格式即可。2、Jmeter也有自己的代理,录制脚本前,我们只要启动好代理,手动通过IE或者火狐来录制,录制完毕停止代理。新建脚本,首先添加线程组然后再添加http默认请求HTTP Request Defaults设置要录制的服务器IP地址或者域名在平台中添加代理服务器HTTP Proxy Server,选择录制到的请求放置位置,这里放在了线程组下,代理服务器的默认端口为8080,也可以随意修改,修改前尽量通过netstat –ano命令查 阅读全文
posted @ 2012-11-13 11:57 ZhuQue 阅读(31812) 评论(1) 推荐(1) 编辑
摘要: 通过jmeter代理录制脚本后,会产生大量的无用的请求,尽管在代理中已经过滤了一部分图片或者CSS、JS文件。手动查看主要的请求:这里主要关注登陆请求,要确定有效的URL请求删除除/Login.aspx请求以外的所有请求或者置为不可用状态BS系统录制成功后,一定要添加HTTP Cookie Manager,否则脚本运行失败,切记放到请求的上面添加结果树和聚合报告,查看请求数据和返回数据 阅读全文
posted @ 2012-11-13 11:25 ZhuQue 阅读(14062) 评论(0) 推荐(0) 编辑
摘要: 我在51testing上的博客:http://www.51testing.com/?77492请帮助我搬家到我的博客:http://www.cnblogs.com/zhuque/我自己导入rss的,导入的数据不完整,只有博客标题,没有内容。并且300多条博客的,值导入成50个。请帮助我1 我在51testing上的博客:http://www.51testing.com/?774922 3 请帮助我搬家到我的博客:http://www.cnblogs.com/zhuque/function parseMemcacheResults($str){ $res = array();... 阅读全文
posted @ 2012-11-08 22:15 ZhuQue 阅读(690) 评论(7) 推荐(0) 编辑
摘要: 死锁和堵塞一直是性能测试执行中关注的重点。下面是我整理的监控sql server数据库,在性能测试过程中是否出现死锁、堵塞的SQL语句,还算比较准备,留下来备用。--每秒死锁数量SELECT *FROM sys.dm_os_performance_countersWHERE counter_name LIKE 'Number of Deadlocksc%';--查询当前阻塞WITH CTE_SID ( BSID, SID, sql_handle ) AS ( SELECT blocking_session_id , ... 阅读全文
posted @ 2012-11-08 15:03 ZhuQue 阅读(32186) 评论(2) 推荐(4) 编辑
多年性能测试、测试管理经验,专注银行、支付、电商行业,倾向于性能、安全、 监控、调优、模型、管理等方向的研究。
使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。