常用Ruby 命令

发表于:2008-07-14来源:作者:点击数: 标签:rubyRuby浏览器watirWatir
1. 与网页交互(Interacting With a Web Page) ie.text_field(:name , "q").set("bluescorpio") ie.text_field(:name, "typeinme").clear 对应的HTML代码为: input type = "text" name = "typeinme" 2.窗口的设置 $ie.bring_to_front $ie.maximize 3.创建一
1. 与网页交互(Interacting With a Web Page)
ie.text_field(:name , "q").set("bluescorpio")
ie.text_field(:name, "typeinme").clear
对应的HTML代码为:
<input type = "text" name = "typeinme" >

2.窗口的设置
$ie.bring_to_front
$ie.maximize

3.创建一个IE的测试实例
ie = Watir::IE.new
或者在创建的同时直接转到页面
ie = Watir::IE.start("http://mytestsite")
Watir使用start方法同时创建一个浏览器实例并转到一个页面。
ie.goto("http://mytestsite")

4.操纵Web页面对象
  4.1超链接
     4.1.1使用Text属性点击超链接
          ie.link(:text , "Pickaxe").click
          对应的HTML代码为:
          <a href="http://pragmaticprogrammer.com/titles/ruby/";>Pickaxe</a>
     4.1.2使用URL属性点击超链接
          ie.link(:url , "http://pragmaticprogrammer.com/titles/ruby/";).click
          对应的HTML代码为:
          <a href="http://pragmaticprogrammer.com/titles/ruby/";>Test Site</a>
  4.2复选框
    4.2.1使用name属性设置复选框
         ie.checkbox(:name, "checkme").set
    4.2.2使用name属性清除复选框
         ie.checkbox(:name, "checkme").clear
    4.2.3使用name和value属性设置复选框
         ie.checkbox(:name, "checkme", "1").set
    4.2.4使用name和value属性清除复选框
         ie.checkbox(:name, "checkme", "1").clear
         对应的HTML代码为:
         <input type = "checkbox" name = "checkme" value = "1">
  4.3单选框
    4.3.1使用name属性设置单选框
         ie.radio(:name, "clickme").set
    4.3.2使用name属性清除单选框
         ie.radio(:name, "clickme").clear
    4.3.3使用name和id属性设置单选框
         ie.radio(:name, "clickme", "1").set
    4.3.4使用name和id属性清除单选框
         ie.radio(:name, "clickme", "1").clear
         对应的HTML代码为:
         <input type = "radio" name = "clickme" id = "1">
  4.4下拉框
     4.4.1使用name属性和值来设置下拉框
          ie.select_list( :name , "selectme").select("is fun")
     4.4.2使用name属性和值来清除下拉框
          ie.select_list( :name , "selectme").clearSelection
          对应的HTML代码为:
          <select name = "selectme" > <option name=1> <option name=2>Web Testing <option name=3>in Ruby <option name=4>is fun </select>
    4.4.3 选择所有的内容(contents will be an array)
         contents = ie.select_list(:id, "one").getAllContents 
    4.4.4 如果可以选择多项的话,可以如下,一个接一个
          ie.select_list(:id, 'one').set('Web Testing')
          ie.select_list(:id, 'one').set('in Ruby')
          ie.select_list(:id, 'one').set('is fun')
          ie.select_list(:id, 'one').clearSelection 
  4.5按钮
     4.5.1通过值或标题属性点击按钮
          ie.button(:value, "Click Me").click
     4.5.2通过name属性点击按钮
          ie.button(:name, "clickme").click
          对应的HTML代码为:
          <input type = "button" name = "clickme" value = "Click Me">
     4.5.3 ImageButton的点击
           ie.image(:src, /ok_big/).click
           ie.image(:src, /ok_big/).fire_event("onclick")
  4.6表单
     4.6.1表单中的按钮
          使用value或标题属性
          ie.button(:value, "Submit").click
          对应的HTML代码为:
          <form. action = "submit" name = "submitform" method="post"><input type = "submit" value = "Submit"></input></form>
    4.6.2表单中的图片按钮
         使用name属性
         ie.button(:name, "doit").click
         使用src属性
         ie.button(:src, /doit/).click
         对应的HTML代码为:
         <form. action = "submit" name = "doitform" method="post"><input type="image" src = "images/doit.gif" name = "doit"></form>
   4.6.3没有按钮的表单
        通过name、action以及method属性来提交表单
        ie.form(:name, "loginform").submit
        ie.form(:action, "login").submit
        对应的HTML代码为:
        <form. action = "login" name = "loginform" method="get"><input name="username" type="text"></input></form>
   4.6.4框架
        ie.show_frames可以打印出当前页面框架的数量和名称
        Watir允许通过名称属性来访问框架,如ie.frame("menu")
如果要访问menu框架中的一个超链接,可以
ie.frame("menu").link(:text, "Click Menu Item").click

4.6.4嵌套框架
ie.frame("frame1").frame(:name, "nested_frame")

5 新窗口
ie2 = Watir::IE.attach(:url, 'http://mytestsite')
ie3 = Watir::IE.attach(:title, 'Test New Window')
也可以使用正则表达式
ie4 = Watir::IE.attach(:title, /Test New/)
注意:不要把新窗口分配到你的ie变量,最好给新窗口一个不同的名字

5.验证结果
比较好的方法是在测试案例中假如验证点
5.1对象存在
使用Watir方法contains_text
ie.contains_text("Reached test verification point.")

原文转自:http://www.ltesting.net