爱在watir(3)————表单其实很简单

tom和coco最终还是没能一起吃宵夜。coco临时有点事情,在写完自动生成数据的代码后coco匆匆离去。

第二天一早coco上班时发现代码正常的运行了,100条数据已经生成完毕,coco心中宽慰,对watir webdriver刮目相看。

tom不知道为什么还没来上班,coco其实一直都有在留意tom,tom住的远,一般来的挺早,不会迟到,今天不知为何快到中午了他还没有过来,coco总觉得有点放心不下。

其实tom是因为临时有点事情请了假,他今天有个同学远道而来投奔他,tom一早就去火车站接人去了。

由于数据建立好了,coco今天的工作非常轻松,很快就测完了手头上的活,离下班还有两个小时,coco趁机复习了一下watir-webdriver操作表单的方法。

coco很清楚在测试的过程中填写和提交表单往往是很费时的工作,如果这些操作能通过watir-webdriver来完成的话,那么测试的工作量一定会降低不少。coco去网上查了下watir-webdriver操作表单的代码,好记性不如烂笔头,coco把这些零散的东西整理了一下,她以一个本地的html文件为例子,完成了大部分表单元素的操作。

full_form.html
<html>
    <head><title>form</title></head>
    <body>
        <form>
            <label>text_field<input name="user" /></label>
            <br />
            <label>text_area<textarea name="content" ></textarea></label>
            <br />
            <label>checkbox<input type="checkbox" name="check_me" /></label>
            <br />
            <label>radio
                <input type="radio" name="man" />
            </label>
            <br />
            <label>selet list
                <select name='sex'>
                    <option value="man">man</option>
                    <option value="woman">woman</option>
                </select>
            <br />
            <label>button<input type="submit" name="btn" οnclick="javascript:alert('button clicked')" /></label>
            </label>
        </form>
    </body>
</html>

由于tom不在,coco独自一人完成操作表单元素代码时费了不少的力气,好在她发现乙醇翻译的watir-webdrier中文官网www.17test.info里面有不少可以参考的东西,在自己的反复尝试下,她终于完成了如下的代码。

operate_full_form.rb
require 'watir-webdriver'
ENV.delete('HTTP_PROXY')
b = Watir::Browser.new :chrome
file_path = 'file:///' + File.expand_path(File.join('.', 'full_form.html'))

b.goto file_path

# 设置单行文本框里的内容
b.text_field(:name, 'user').set 'coco'
# 打印出刚设置的内容
puts b.text_field(:name, 'user').value

# 很好用的flash方法,直接高亮要定位的元素
b.text_field(:name, 'user').flash
# 清除单行文本框中的内容
b.text_field(:name, 'user').clear

# 往多行文本框中写入内容
b.text_field(:name, 'content').set 'watir webdriver is better than selenium'

# 选择checkbox
b.checkbox(:name, 'check_me').set true
# 清除选择
b.checkbox(:name, 'check_me').set false

# 选择radio
b.radio(:name, 'man').set 
# 返回radio是否被选择
puts b.radio(:name, 'man').set? 

# 选择value为woman的选项
b.select(:name, 'sex').select 'woman'
# 返回选中的选项
puts b.select(:name, 'sex').selected_options

# 点击按钮
b.button(:name, 'btn').click

# 关闭浏览器
b.close


coco把她认为重要的地方都用注释写了下来,这样几天以后再看这些代码,coco也能清楚的知道里面到底干了些什么。

完成这些以后coco觉得心情不错,一天工作结束之后,coco难得的准时下班。

天色还是很早的,很少在日落前下班的coco在离家两站的地方下了车。tom就住这附近,coco准备从这里走回去,也许在路上会遇到她想见的人。

走了一会coco果然远远的看到tom了,不过他不是一个人。tom和一个女孩子并肩走着,有说有笑,手里还提着购物袋,里面有牛排和红酒。

coco很识趣的闪到了一边,没有让tom发现她。夕阳如血,孤零零的照着coco身上,她觉得有点冷,有点孤单。

由于tom不在,coco独自一人完成操作表单元素代码时费了不少的力气,好在她发现乙醇翻译的watir-webdrier中文官网www.17test.info里面有不少可以参考的东西,在自己的反复尝试下,她终于完成了如下的代码。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值