-----使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。-----

随笔分类 -  Ruby自动化测试

摘要:前期对python中的logging模块进行了封装,这样自动化测试框架中的多个测试脚本(py)就可以使用同一个封装后的日志系统,这样各脚本中只需要引用一下即可,方面快捷。那么当我使用unittest框架执行unittest.main()运行所有自动化case时,就会打印多个重复的日志。 如下图: 经 阅读全文
posted @ 2018-01-20 15:35 ZhuQue 阅读(4831) 评论(2) 推荐(0) 编辑
摘要:对selenium自带的截图功能进行封装: 以下为封装的代码,自定义一个.py文件即可,图片路径自己设置一个。 1 #coding:utf-8 2 3 class Screen(object): 4 ''' 5 封装的截图类,webdriver自带的get_screenshot_as_file() 阅读全文
posted @ 2018-01-20 15:10 ZhuQue 阅读(581) 评论(0) 推荐(0) 编辑
摘要:封装后的logging代码中format()中的自定义日志格式,可以根据喜好更换: %(levelno)s: 打印日志级别的数值 %(levelname)s: 打印日志级别名称 %(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0] %(filename)s: 打印当前执 阅读全文
posted @ 2018-01-20 14:49 ZhuQue 阅读(13732) 评论(1) 推荐(0) 编辑
摘要:前几天做了一个loadrunner结合tesseract-ocr来识别验证码,尽管识别精度不是太高,甚至有些验证码图片不能被识别,但是使用循环的方法也是可以得到正确的验证码的。性能测试中不建议使用这个方法,因为涉及到大并发压力的情况。但是在功能自动化测试中我是100%赞成使用的,功能自动化不像性能自动化那样对同一个操作(登录)有大并发的出现。 我们使用的自动化框架是基于ruby+watir搭建的一套UI框架,通过识别UI中的对象来进行功能自动化测试,来达到检测系统功能健康状况。 ruby中也有处理图片的gem包,比如:rmagick、tesseract-ocr、rtesseract,以... 阅读全文
posted @ 2013-03-13 15:30 ZhuQue 阅读(5424) 评论(7) 推荐(1) 编辑
摘要:#PartoneaFile=File.new("C:\\1.txt","w")aFile.puts"the1"aFile.puts"the2"aFile.close#ParttwoaFile=File.new("C:\\2.txt","w")puts"the1"puts"the2"aFile.close 闲的无聊,看了一下Ruby如何读写文件,准备写段代码来生成测试数据。上面有两段代码,看出有什么区别吗?嗯,一个用了 aFile.put 阅读全文
posted @ 2013-03-13 10:09 ZhuQue 阅读(3887) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-12 14:18 ZhuQue 阅读(4746) 评论(5) 推荐(1) 编辑
摘要:俗话说前人栽树,后人乘凉,此话一点不假,结合云层的一遍文章:http://bbs.51testing.com/thread-533920-1-1.html,知道还有一个Tesseract-OCR可以用来识别图片上的文字(验证码)。在code.google上下载了tesseract-ocr-setup-3.02.02.exe,即windows版本,下载安装后安装路径自动加入到环境变量中,在cmd中可以手动测试一下:格式如下:tesseract.exe c:\test1.jpg c:\test -l//test1.jpg 是我提前保存在C盘中的验证码图片,后面的test自动把test1.jpg中的 阅读全文
posted @ 2013-03-06 18:10 ZhuQue 阅读(4731) 评论(3) 推荐(1) 编辑
摘要:Hudson中分布式部署,node节点设置,假如有2台windwos机器(192.168.200.132、192.168.200.133)作为SLAVE机器。其实Master/Slave相当于Server和agent的概念。http://www.cnblogs.com/itech/archive/2011/11/11/2245849.html新建一个node节点,节点名称可以是IP地址或者是机器名称,比如:PC-123123123Name:slave节点显示名字Description:对该节点进行描述# of executors:这个值控制着Jenkins并发构建的数量. 因此这个值会影响Je 阅读全文
posted @ 2013-01-23 18:04 ZhuQue 阅读(15734) 评论(2) 推荐(5) 编辑
摘要:Jenkins的前身是Hudson,是做持续集成必不可少的工具,主要用途:持续、自动的构建项目;构建自动化测试项目;监控定时执行的一些任务。先说说一下安装:Hudson的war包下载地址:http://mirrors.neusoft.edu.cn/eclipse/hudson/war/Jenkins的war包下载地址:http://mirrors.jenkins-ci.org/war/下载tomcat的地址:http://mirror.bit.edu.cn/apache/tomcat/(Hudson、Jenkins需要web容器支持,不需要数据库,直接访问)首先安装JDK,我的JDK版本是1. 阅读全文
posted @ 2013-01-22 16:45 ZhuQue 阅读(9132) 评论(0) 推荐(2) 编辑
摘要:watir查看text中的值是否是某一编码?ie.div(:id,'alertbox-con').p(:index,0).text.force_encoding("UTF-8").valid_encoding?或者ie.div(:id,'alertbox-con').p(:index,0).text.force_encoding("GBK").valid_encoding?如果是则返回true,不是则返回false另外一种方法则更简单的来查询是否是某一编码:ie.div(:id,'alertbox-con' 阅读全文
posted @ 2012-12-25 17:42 ZhuQue 阅读(366) 评论(0) 推荐(0) 编辑
摘要:ruby 192 + watir 3.0.0今天遇到了一个比较怪异的问题:在脚本中使用Watir::IE.attach 定位一个新打开的IE窗口,始终报错,错误信息:“watir-classic-3.0.0/lib/watir-classic/ie-class.rb:760:in `rescue in attach_browser_window': Unable to locate a window with url of (?-mix:baidu.com) (Watir::Exception::NoMatchingWindowFoundException)”脚本根本就没有去执行我的W 阅读全文
posted @ 2012-12-12 18:12 ZhuQue 阅读(1007) 评论(0) 推荐(0) 编辑
摘要:watir中fire_event()的几个用法:ie.link(:id,'email').fire_event("onmouseover") #鼠标悬停ie.link(:id,'email').fire_event('onclick') #单击链接ie.link(:id,'email').fire_event('ondblclick') #双击连接ie.link(:id,'email').fire_event("onFocus") #得到事件焦点ie.link 阅读全文
posted @ 2012-12-10 16:08 ZhuQue 阅读(518) 评论(0) 推荐(0) 编辑
摘要:HTTPwatch官方:http://www.httpwatch.com/rubywatir/ruby on httpwatch例子:http://www.httpwatch.com/rubywatir/site_spider.zip(这个例子官网可能更新)得到这个例子后做了一些中文注释,对一些代码进行了删减,主要修改内容如下:1、在url = gets.chomp!上面添加($*[0].nil?)?(url = url):(url = $*[0]),目前URL可以在命令行加载,也可以在脚本中固定;命令行方式用法:ruby 脚本名 网站名,具体的用法请参看脚本中的注释,说明一下 在URL前面不 阅读全文
posted @ 2012-12-06 16:54 ZhuQue 阅读(891) 评论(0) 推荐(0) 编辑
摘要:ruby写的脚本运行更快,决定使用ruby来弄。相比和我一样做电商网站的都有机会用到:获取某个页面中的所有URL下面脚本另存为:URLScan.rb,用法:通过cmd命令,进入该脚本路径执行ruby URLScan.rb url脚本中data.scan()可以放入你想要在对应页面查找的其他正则表达式,如data.scan(/<ahref="(.*?)">/) ,即所有的URL下面例子中时获取所有的产品链接URLScan.rbrequire 'net/http'filename= File.new('c:\1.txt'," 阅读全文
posted @ 2012-12-06 12:46 ZhuQue 阅读(555) 评论(0) 推荐(0) 编辑
摘要:我想在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 阅读(2460) 评论(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 阅读(1811) 评论(0) 推荐(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 阅读(421) 评论(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 阅读(4788) 评论(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 阅读(416) 评论(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 阅读(1331) 评论(0) 推荐(0) 编辑

多年性能测试、测试管理经验,专注银行、支付、电商行业,倾向于性能、安全、 监控、调优、模型、管理等方向的研究。
使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。