netbeans + ruby + watir web自动测试框架搭建
这是一个开源,免费,灵巧,简易的web自动化测试组合框架;通常情况,开源的东西总是给人以迷人,开放式的触感,但同时,也让人难以快速接近(像是东方男人看待西方美女);要了解一个开源而且组合漂亮的框架,总是要费些周章......总而言之,它不会像收费的东西,你很讨厌它,但不可否认,你的付费其实换取了别人的琐碎劳动成本,各有利弊(就像某些肉体交易似的)。
1.netbeans还是那个netbeans。其实你完全可以不用它,可以直接使用记事本编码,然后ruby命令运行。不过还是那个原因,对于老是在“万千”项目中转来转去的我们这些人,不像那些专注于某一门IT艺术的开发者,我们老不停地接触新项目,它不大,却很繁琐,因为它老是根据我们自己的,或者“老板”的意志到处转移,所以,基本上我们没有太多时间专注某一门艺术......这样,就要求我们对大多数东西都希望它尽快搭建完整,进入测试使用阶段;对,这就是我现在的工作,哈哈!最新版本netbeans 6.8!
2.ruby。最新已经是1.9.1了,但是我还是安装了1.8.6,原因?很简单!我google.com.hk到的第一个就是它,哈哈!
3.watir就该细细说了,呵呵,因为前面两个简单的缘故,这个安装理所当然复杂点,要不然余下的时间又该空虚寂寞冷了。
Watir全称是“Web Application Testing in Ruby”,发音类似“water”。
Watir能做什么?
Watir是一个Ruby库,使用IE浏览器进行Web应用程序测试。
Watir可以使用IE5.5,IE6.0,IE7.0,支持Win2000,WinXP,Win2003 Server,Vista。
Watir可以模拟用户点击链接,填写表单,点击按钮。
Watir可以模拟用户验证页面内容。
Watir不能做什么?
Watir不能用于Firefox,Safari浏览器,一个替代方案是使用Firewatir或者Safariwatir。
Watir不能用于Ajax control的测试。
Watir不支持Activex的测试
Watir不支持IE Dialog的支持(以前曾经支持过)。
因为ruby装的不是最新版本,所以,最新版本的watir安装失败,这个最新版本是watir-1.6.5.gem。经过极其十分非常严格的安装测试,发现watir-1.5.6.gem可以装得进去!
注意事项:
1).本地安装命令: gem install watir-1.5.6.gem 注释:【这里不是命令部分!】需要cd到watir-1.5.6.gem所在目录
2).远程安装命令: gem install watir-1.5.6.gem --remote
3).运行ruby安装目录/lib/ruby/gems/1.8/gems/wa
相关文档:
最近由于学习使用linux下的C开发,需要查询Linux C函数参考,就经常上http://man.chinaunix.net/develop/c&c++/linux_c/default.htm查看,描述得比较详细而且还有例子。
网上还有许多各种技术的网页格式的参考材料都非常强大,可惜很多时候都没有网。于是就想写个脚本可以把文档下载,像android开发者文档一样弄到本地 ......
历史背景[1]
诞生于1993年2月24日的Ruby(红宝石),由日本人松本行弘(Yuki Matsumoto)于1994年12月发布。 Ruby 作为一种纯面向对象的脚本程序设计语言,吸收了Smalltalk和Perl两种程序语言的特性。
Ruby理念[2]
1.首先考虑的是,减少编程时不必要的琐碎时间,令编写程序的人高兴;
2.其次是良好的界面设计;
3.强 ......
self上下文
Ruby的self有和Java的this相似之处,但又大不相同。Java的方法都是在实例方法中引用,所以this一般都是指向当前对象的。而Ruby的代码逐行执行,所以在不同的上下文(context)self就有了不同的含义,先来看看常见的context self都代表哪些
1
2
3
4
5
6
7
8
9
10
11
12
13
......
class Point
@x = 1
@y = 2
def initialize(x,y)
@x,@y = x,y
end
end
代码中的@x,@y为实例变量,实例变量只对self的环境起作用,因此initialize外面的@x=1,@y=2只对类本身起作用,而方法内部,的@x,@y是对对象的实例起作用的。
class Point
include Enumerable
def initialize(x ......
我们在使用C编程时会遇到一个问题,比如头文件的一个函数包含在一个lib中,但是
在实际连接中我们不知道它在哪个库中。也许可行的一种办法是直接上网查询某个
函数的依赖条件,这对于常用函数是没问题的!但是对于复杂而又缺少文档的第三方
lib来说,无异于大海捞针。
自此通过2种办法来尝试解决这个问题,我们先看第一 ......