基于ruby的watir自动化测试 笔记二

基于ruby的watir自动化测试 笔记一的补充版,新增加了些特殊的控件捕获方法。还在更新中....

attribute_value

获取当前控件的属性

Value = ie.link(:xxx’).attribute_value("href")

rand_select

随机选择select list中的某一项

ie.select_list(:name=>’’).rand_select

popupwin

点击弹窗上的‘确定’按钮

ie.popupwin.button(:name=>"确定").click

sikuli_image

点击图片控件

ie.sikuli_image(:image=>"1.png").click

ie.sikuli_image(:image=>"1.png;2.png").click#可以指定多张图片来识别

double_click

双击事件

ie .sikuli_image(:image=>"1.png").double_click

right_click

右击事件

exist?

判断用户元素是否存在

edit = ie.text_field(:name,"username")

if edit.exist?()

#The highlighted

edit.flash

ie.text_field(:name, "password").set(pwd)

ie.button(:class, "x-login-submit").click

end

end

按钮

ie.button(:name=>"",:",:index=>n,:type=>"").click

ie.button(:name=>"",:",:index=>n,:type=>"").doclick

输入框

ie.text_field(:name=>"").set "变量"

ie.text_field(:name=>"").value 取text_field值不是用text而是value!

下拉框

ie.select_list(:name=>"").select "下拉框值"

ie.select_list(:name=>"").select "#1" #表示第一项内容

ie.select_list(:name=>"").rand_select

ie.select_list(:name=>"").getSelectedItems|getAllContents->返回Array

单选框

ie.radio(:",:name=>"",:index=>n).set(选中当前radio)

ie.radio(:",:name=>"",:index=>n).clear(取消选中当前radio)

ie.div(:class=>"iradio_minimal-blue checked").radios[1]

复选框

ie.check_box(:",:name=>"",:index=>n).set(true|false)(true表示选中,false表示不选中)

ie.check_box(:",:name=>"",:index=>n).clear(取消选中当前checkbox)

链接

ie.link(:text=>"").click/doclick

ie.link(:text=>"").href(返回当前link指向的链接)

cell (TD标签,用时一般需要先找到上层控件如table、div等)

ie.table(:class=>"",:index=>n).cell(:class=>"",:index=>n).text

ie.table(:index=>n).rows 行 列 .text (行、列从1开始)

ie.div(:class=>"",:index=>n).cell(:class=>"",:index=>n).text

span

ie.table(:").span(:class=>"").text

弹出框

ie.popupwin.get_static_text (返回当前提示框的文本)

ie.popupwin.button(:name=>"确定").click/doclick (前一个点击按钮必须用doclick)

ie.file_dialog(:index=>1/2).set_file(file_path_download,true) (保存文件的弹出窗口)

图片

ie.image(:src=>/word3a_nor.gif/).click/doclick

back

后退

ie.back

forward

前进

ie.forward

refresh

刷新页面

ie.refresh