使用watir操作table中指定的项

有这样的表格:

table

这里,我们需要根据菜单名称列的文字来操作指定行的操作,如根据“ruby自动化测试菜单名称”这几个文字来操作这一行选择复选框,操作编辑功能等。

编写ruby脚本的思路:

1) 首先利用watir处理表格的功能,得到指定的table

2)  其次,对这个table第几列进行循环检测,如果匹配到指定的文件,那么返回这个Table的tr对象

3)根据这个返回的tr对象,就可以进行指定的操作了

基础方法脚本编写:

根据这个思路,我们设计两个方法:

=begin
    功能描述: 得到指定的table
    参数描述: table_sym_type:属性类型;table_sym_name:属性值;
    返回类型: 返回指定的table对象
    调用方法:get_table(ie,"id","yui-dt0-bodytable")
=end
def get_table(ie,table_sym_type,table_sym_name)
  return ie.table(table_sym_type.to_s,table_sym_name.to_s)
end
=begin
    功能描述: 得到指定的table中的匹配行
    参数描述: table:指定的talbe,column:需要匹配的列,match_value:需要匹配的值
    返回类型: 返回指定的tr(行)
    调用方法: get_table_tr_by_match_value(table,3,"ruby自动化测试菜单名称")
=end
def get_table_tr_by_match_value(table,column,match_value)
     begin
      rows = table.row_count
      for i in (1..rows)
        tr = table.[](i)
        td = tr.[](column)
        if td.innerText.match(match_value) then
          return tr   #当匹配到时,就返回tr
          break
        end
      end
    rescue
      #    capture_screen
    end
end

自动化实行方法编写

有了这些基础方法后,就可以直接使用,来实行自动化脚本了

require ‘watir’

ie = Watir::IE.attach(:url,/matchurl/)

table = get_table(ie,"id","yui-dt0-bodytable")

tr = get_table_tr_by_match_value(table,3,"ruby自动化测试菜单名称")

tr.check_box(:name,nameValue).set

tr.link(:text,textvalue).click

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值