千家信息网

试用watir——由喜忧参半到柳暗花明

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,我在前面说过基于录制、回放的web测试麻烦多多,经常是带来的好处不如麻烦多。所以另寻他途。经过一番调研,觉得webdriver(也即selenium 2.0)前途较好,准备试用。webdriver支持
千家信息网最后更新 2026年11月03日试用watir——由喜忧参半到柳暗花明

我在前面说过基于录制、回放的web测试麻烦多多,经常是带来的好处不如麻烦多。所以另寻他途。经过一番调研,觉得webdriver(也即selenium 2.0)前途较好,准备试用。webdriver支持多种语言,我们的项目是基于java编写的,按说用java能够更好的和项目集成。但考虑到刚开始用,快速上手很有必要,使用环境越轻量级越好。于是采用watir--Web Application Test In Ruby。我对ruby的了解仅限于听说过这个名称,好在网上有不少教程,而且快速展开测试也并不需要多深入的学习语言本身。使用ruby还有个好处就是它是一种解释性语言,可以即时调试。


安装没什么难度(其实比网上的一些例子更容易,因为版本高了,很多工作不用准备了)

1.安装ruby,最新2.1,我装的是2.0。一路next完成。(devkit貌似不装也可以)

2.gem update --system (不升级也可以,自带的版本也够)

3.gem install watir 以及gem install watir-webdriver (可以用gem list看一下,如果已经包括了,这步也省了)

4.如果需要用ie和chrome测试,那么下载这两个的驱动:地址是,ie的:http://code.google.com/p/selenium/downloads/list chrome的:http://chromedriver.storage.googleapis.com/index.html

(关于chrome驱动得多说两句--因为这个问题费了我十几个小时的脑力。这个地址是我排查错误时找到的。网上大部分说法是在这里下http://code.google.com/p/chromedriver/downloads/list。但是这里搜到的最高版本才2.3,当chrome版本超过30,就不适用了。所以我用chrome测试失败之后,尝试很久才发现是驱动版本问题。驱动版本并非越高越好,要在上面我给出的地址里找到和chrome版本对应的驱动才行)


下面说说我在简单试用中发现的问题和最后的解决办法。


1.chrome驱动算一个,不重复了。


2.大多时候我们快速开始于一些简单的例子。比如测试百度、google。因为这两个页面看上去似乎非常简单,一个文本输入框,一个检索按钮。然而,打开百度、google首页的源代码,我们发现,这些页面内容远比展现出来的复杂的多,页面元素一层一层嵌套,想找个id和name都不容易。所以开始给我造成一些迷惑以至于让我对webdriver颇为忧虑。


举个例子,我用一段脚本在ie里执行没问题,换到firefox就不行。让我对使用watir进行浏览器兼容性测试没了信心。如果换浏览器还要重新调试脚本的话,那么跟手工做没太大区别了。后来经过仔细调试,发现是因为--ie驱动的容错性更好导致的差别。具体来说,是页面中有元素的name属性重名,在ie里就正确识别出来了,而在firefox就报错了。都改用id属性就可以了,这样脚本就通用了。


3.然而更诡异的事情继续发生。一段脚本前一天执行还没问题,后一天就不行了。或者换台机器就不行了。这又是咋回事呢?经过排查,发现在百度和google首页中元素的id、name是变化的--我现在还没仔细验证是根据访问ip变化的还是根据访问时段变化的。简直是坑爹啊。好在测试自己的项目时不会发生这样的事。所以网上大部分教程用百度、google首页做例子并不适合,很容易调不通让新手一头雾水。


这样一来,也给我们自己开发时提了个醒,页面元素的id和name尽量唯一且固定。找到原因之后,我对watir有些信心了,在项目中准备正式用了。


版本 测试 驱动 问题 页面 例子 元素 脚本 项目 不行 地址 语言 首页 准备 变化 两个 信心 大部分 好处 属性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡 喔噻互联网科技有限公司 科技服务与互联网 互联网科技公司名称 互联网科技公司的市场部门 科技赋能互联网健康 成都玖崟互联网科技有限公司乐商圈怎么样 广州优美互联网科技 宁夏众和广鑫互联网科技有限公司 彤创互联网科技有限公司 宝灵互联网科技有限公司 互联网科技商业 互联网与医疗科技 健康食品互联网创新科技园项目 中国互联网公司排名锤子科技 科技大学互联网 互联网企业科技类企业如何做账 梅州GM互联网络科技有限公司 黑云互联网科技有限公司 前海云享互联网科技 亿人帮互联网科技有限公司 圆梦互联网科技 朗新科技与工业互联网 互联网科技视频素材 北京华百购互联网科技有限公司 广州恒生互联网科技有限 广州新华互联网科技学校电竞方面 济南有互联网科技公司吗 厦门江牛科技互联网 九思连强互联网电子科技有限公司
0