watir操作table

上一篇 / 下一篇  2009-07-15 22:54:41 / 个人分类:RUBY

有这样的表格:

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


TAG:

要走就走100年 引用 删除 cswalkman   /   2009-07-17 09:30:18
   我遇到的是像windows显示左边树状文件夹那样的表格选择,一级接一级,不知道怎么去弄。。。。
要走就走100年 引用 删除 cswalkman   /   2009-07-17 09:18:28
5
 

评分:0

我来说两句

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 30833
  • 日志数: 37
  • 建立时间: 2008-07-09
  • 更新时间: 2009-07-23

RSS订阅

Open Toolbar