Tom和Coco是有名的加班狂人。Tom加班改bug,Coco加班回归bug。

两人经常加班到很晚,Tom是男孩子,很自然的担负起护送Coco的任务。他打车先送Coco回去,然后自己回家。不过Tom和Coco在路上交流很少,无非就是寒暄几句,问下bug的情况,然后抱怨几句。Coco一直认为Tom有点口吃,其实Tom说话还是挺流利的,只是一见到Coco他就莫名紧张,脸红脖子粗,像喝多了酒,舌头有点哆嗦。

Tom和Coco在同一个项目,Fred是项目经理。Fred有一种超凡的能力,那就是能让所有的人都讨厌他。老板讨厌他,工程师讨厌他,测试人员更讨厌他。Fred爱好空手道,他决定像空手道的段位一样,给每个测试人员也划分等级。Coco是抓虫能手,应该被封为1级。既然空手道叫黑带,那么测试人员的等级就叫白带好了。于是Coco被尊称为"白带九段"。后来在测试组的美眉们的强力反对下,这种等级制度才没有实施。

最近Fred住院了,因为他在车上见义勇为,怒斗小偷,结果被小偷的同伙群殴。好在Fred会一点空手道,在挨打时他一直紧紧的护着自己的要害部位,因此才没有被断子绝孙腿给重伤。诸位同事听到这个悲惨的消息不禁唏嘘:实在是太可惜了,怎么没把他打成太监。

Fred在医院努力为自己搜罗工伤的证据,项目这边没人督促,大家轻松了不少。

这天晚上大家走的都很早,唯独Tom和Coco两人在办公室加班。Tom本来没什么事,不过看到Coco留了下来,他直觉的感到今天可能是一个不错的机会。

Coco给Tom叫了外卖,吃完后Coco继续把今天修改的bug再重新回测一遍,Tom坐立不安,好几次站起来又坐下。他想找Coco搭讪,但是却找不到两个人之间应该聊些什么话题。Tom知道Coco应该去网上买衣服、鞋子、化妆品之类,但Tom对这些基本没什么研究。

到底应该去聊些什么好呢?Tom很为难。最后做了装口吃卖萌的最坏打算,Tom走到Coco座位旁边有些急促的、很不自然的问道:"hi,你在干什么呢?"

这是一句明知故问又很没养分的话,在《宅男把妹作死宝典》里,这句话高居作死榜第一名。不过Coco却看起来和高兴的说:"在回测bug,挺无聊的,但又必须做完。你呢,你今天的bug不是改完了么,怎么还没回去?"

Tom没有回答Coco的问题,他努力的平复了一下说道:"整天做一些重复性的工作实在是太辛苦了。我知道有个办法可以让电脑自动帮我们回测bug,你要是感兴趣的话,我可以教,你要是感兴趣的话,我可以教你"。

Coco疑惑道:"自动回测,那不太可能吧。"

Tom道:"真的可以的,用watir webdriver就可以。我正好略懂一点,教你的话可以吗?"

Coco嫣然一笑:"好啊好啊,尽管不知道这是什么,但是听起来却是很厉害的样子。"

Tom心中一喜,脸上自然流露出一点异样的表情,在Coco看来,那表情里满满都是想入非非的淫荡。

Tom赶紧把脸上的坏笑清除干净,他说道:"其实watir webdriver很简单了,我先教你部署坏境,也就是这个工具的开发环境。先要装好ruby,一般来说用rails installer就可以了。装好以后呢打开命令行,在命令行里输入 gem install watir-webdriver,然后喝杯咖啡就大功告成了。"

Tom一边说一边指导Coco操作,很快,watir webdriver就安装好了。

Tom接着说:"然后呢要下载一个叫做chrome driver的东西,因为我们的项目都是在chrome上面做测试,下载了chrome driver以后,我们就可以写代码控制chrome,让浏览器做任何事情都可以的。"

很快,coco在tom的帮助下从官网下载好了chrome driver,tom让coco敲了如下的一段代码来测试一下环境是否能正常工作。

require 'watir-webdriver'
Watir::Browser.new :chrome

coco敲错了几次后终于把正确的代码给写了出来,coco没想到简单的两行代码就能够出现如此多乱七八糟的错误,看来程序员这行饭也不容易吃。

coco把两行代码保存成了test.rb文件,然后在命令行里运行ruby test.rb,过了一会以后黑乎乎的命令行里打印出了一些东西,然后chrom浏览器被启动起来了。

"看!"tom兴奋的说,"chrome起来了,太棒了!"

coco疑惑的看着tom悠悠的问道:"这有什么好兴奋的,只是开了个浏览器而已,这东西怎么能帮我回测bug呢?"

tom不好意思的摸了摸头说:"打开浏览器是好的开始,接下来我再教你怎么去访问一个url。"

在tom的指导下,coco又在test.rb文件里加入了几行代码

require 'watir-webdriver'
b = Watir::Browser.new :chrome
b.goto 'www.17test.info'
b.close

运行完这个文件后,coco看到chrome浏览器被打开了,然后浏览器访问了watir-webdriver的官方中文站点——www.17test.info。

tom说道:"尽管这几行代码的功能很简单,但是你想想,如果我写个循环让代码自动去访问这个网页1000次,那样会不会比自己手动去访问17test.info1000次要省时省力呢?"

coco想了想,觉得很有道理。coco问道:"刚才我写的是ruby代码吧,不过我基本上不明白这几行代码是什么意思。"

tom说道:"今天已经晚了,我送你回家,你有空自己先看看ruby的语法,你有兴趣的话下次我继续教你。"

爱在watir(1)----一切从搭讪开始的更多相关文章

  1. 【开源毕设】一款精美的家校互动APP分享——爱吖校推 [你关注的,我们才推](持续开源更新3)附高效动态压缩Bitmap

    一.写在前面 爱吖校推如同它的名字一样,是一款校园类信息推送交流平台,这么多的家校互动类软件,你选择了我,这是我的幸运.从第一次在博客园上写博客到现在,我一次一次地提高博文的质量和代码的可读性,都是为 ...

  2. 开发者最爱的Firebug停止更新和维护

        近日,Firebug团队在其官网上宣布,Firebug将不再继续开发和维护,并邀请大家使用Firefox的内置开发工具.     Firebug最初是2006年1月由Joe Hewitt编写, ...

  3. Win下最爱效率利器:AutoHotKey

    AutoHotkey是一个windows下的开源.免费.自动化软件工具.它由最初旨在提供键盘快捷键的脚本语言驱动(称为:热键),随着时间的推移演变成一个完整的脚本语言.但你不需要把它想得太深,你只需要 ...

  4. Menu与ActionBar的爱恨情仇

    最近在开发一款音乐播放器,在开发过程中遇到了一点小麻烦,通过android API搞清楚了Menu与ActionBar的爱恨情仇,写了个小Demo祭奠一下那些年我们陷进去的坑,有不对的地方请大神们批评 ...

  5. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院  拒 ...

  6. 爱与恨的抉择:ASP.NET 5+EntityFramework 7

    EF7 的纠缠 ASP.NET 5 的无助 忘不了你的好 一开始列出的这个博文大纲,让我想到了很久之前的一篇博文:恋爱虽易,相处不易:当EntityFramework爱上AutoMapper,只不过这 ...

  7. 如何寻找“真爱”型合伙人

          曾与朋友笑侃,现在找人结婚,跟合伙开公司差不多,各自条件一一对比,细细斟酌,最后双方达成一致,才得凑成一对冤家.谁说不是呢?两种关系都实为"伙伴",开公司重" ...

  8. web移动端fixed布局和input等表单的爱恨情仇 - 终极BUG,完美解决

    [问题]移动端开发,ios下当fixed属性和输入框input(这里不限于input,只要可以调用移动端输入法的都包括,如:textarea.HTML5中contenteditable等),同时存在的 ...

  9. 程序员用HTML5制作的爱心树表白动画

    体验效果:http://keleyi.com/keleyi/phtml/html5/31.htm 推荐:http://hovertree.com/texiao/css3/18/ HTML代码如下: & ...

随机推荐

  1. Vmware虚拟机下三种网络模式配置

    VMware虚拟机有三种网络模式,分别是Bridged(桥接模式).NAT(网络地址转换模式).Host-only(主机模式). VMware workstation安装好之后会多出两个网络连接,分别 ...

  2. 解决打包时IsCmdBld.exe出错的问题

    1.查看环境变量是否配置了 2.查看是否是使用administrator登陆的,要求使用administrator登陆否则可能会出现权限不足的现象

  3. 05-OC多态

    目录: 一.继承的缺陷 二.为什么使用继承 三.组合和聚合 四.多态 回到顶部 一.继承的缺陷 1 提高了程序的复杂度,维护性和扩展性低 2 破坏了类的封装性 回到顶部 二.为什么使用继承 1 代码复 ...

  4. Cloud Engine

    Cloud Engine:大杀器如何炼成   郑昀 创建于2016/6/18 最后更新于2016/6/19 点击查看我的<如何从零搭建一个技术平台>,这是一个系列.转载时请注明“转载自旁观 ...

  5. 从头学Qt Quick系列

    http://www.cnblogs.com/csulennon/category/686605.html

  6. 【C/C++多线程编程之四】终止pthread线程

    多线程编程之终止pthread线程       Pthread是 POSIX threads 的简称,是POSIX的线程标准.           终止线程似乎是多线程编程的最后一步,但绝不是本系列教 ...

  7. paip.按键替换映射总结

    paip.按键替换映射总结 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/attilax 因为 ...

  8. ASP.NET Core Authorization

    ASP.NET Core Authorization 本文目录 Asp.net Core 对于授权的改动很友好,非常的灵活,本文以MVC为主,当然如果说webapi或者其他的分布式解决方案授权,也容易 ...

  9. 前端面试题整理(css)

    1.介绍所知道的CSS hack技巧(如:_, *, +, \9, !important 之类). CSS hack的原理: 由于不同的浏览器和浏览器各版本对CSS的支持及解析结果不一样,以及CSS优 ...

  10. 记录Log4Net的使用

    最近项目中有一个记录错误日志的功能模块,以前采用的是写TXT的做法.代码如下 /// <summary> /// 写入日志 /// </summary> public stat ...