用watir控制ie的标准控件非常简单,以下参考了watir_user_guide文档,希望给大家有个参考:
控制超级链接:
源代码如:http://pragmaticprogrammer.com/titles/ruby/">Pickaxe</a>这样的代码,可以有两种方法来控制
使用文本属性(Text Attribute)
ie.link(:text, "Pickaxe").click
使用url属性
ie.link(:url, "http://pragmaticprogrammer.com/titles/ruby/").click
控制checkbox:
源代码如:<input type = "checkbox" name = "checkme" value = "1">,可以用两种方法进行控制:
使用name属性:
ie.checkbox(:name, "checkme").set #选中
ie.checkbox(:name, "checkme").clear #清空
使用name属性和value属性:
ie.checkbox(:name, "checkme","1").set #选中
ie.checkbox(:name, "checkme","1").clear #清空
控制radio;
源代码如:<input type = "radio" name = "clickme" id = "1">,可以用两种方法进行控制:
使用name属性:
ie.radio(:name, "clickme").set #选中
ie.radio(:name, "clickme").clear #清空
使用name属性和value属性:
ie.radio(:name, "clickme","1").set #选中
ie.radio(:name, "clickme","1").clear #清空
控制选择框;
源代码如:"<select name = "selectme" > <option name=1> <option name=2>Web Testing<option name=3>in Ruby <option name=4>is fun </select>"
选择其中的一个属性:
ie.select_list( :name , "selectme").select("is fun")
清空属性:
ie.select_list( :name, "selectme").clearSelection
在web页的文本框中输入文本,可以通过name属性和id属性来进行识别和操作,如源代码:
<input type = "text" name = "typeinme" >
填充数据:
ie.text_field(:name,"typeinme").set("Watir World")
清空数据:
ie.text_field(:name, "typeinme").clear
提交数据,在web应用程序中,一般通过点击buttons按钮,图片按钮,或点击Enter/Return来提交数据,如:
源代码为:<input type = "button" name = "clickme" value = "Click Me">的方法可以使用name属性和value属性:
ie.button(:name, "clickme").click #利用name属性
ie.button(:value, "Click Me).click #利用value属性
Forms表单中的按钮,也可以通过name或者value属性来表示,源代码为:<form action = "submit" name = "submitform" method="post"><input type = "submit" value = "Submit"></input></form>
ie.button(:value, "Submit").click
Forms表单中的图片按钮,可以通过name属性来表示,如源代码为:<form action = "submit" name = "doitform" method="post"><input type="image" src = "images/doit.gif" name = "doit"></form>
ie.button(:name, "doit").click
有些Forms表单可能没有按钮进行提交,这时可以通过提交forms表单本身的name,action和method来实现,<form action = "login" name = "loginform" method="get"><input name="username" type="text"></input></form>
ie.form(:name, "loginform").submit
ie.form(:action, "login").submit