基於ruby的watir自動化測試 筆記一


 

 

 關於Watir的安裝文章網上一大堆,但真正靠譜的沒有幾個,不是報錯就是安裝包不對。我開始也是初哥,用了近一個星期才總結出來一套完整的安裝理論,共享一下往大家可以從中可以少走一些彎路。本文提供全量安裝包下載,包括:ruby + watri 自動化部署集成Eclipse 全量安裝包 (包括:watir-1.5.4、ruby186-26、WatirRecorder_Setup_lite、dltk-core-ruby、dotnetfx、rubygems-1.3.7、安裝說明。

安裝說明:
1、 安裝 ruby的gem升級包和watir.gem時在cmd下運行。 2、 這兩個文件安裝時,注意cd到相應目錄下。 3、 ruby的gem升級包安裝命令:ruby setup.rb 4、 watir.gem安裝命令:gem install watir --local
    (watir.gem最高只能安裝1.5.4版本。)

  (全量包)下載地址:http://download.csdn.net/detail/yiyu1/7542847

  watri使用說明:

1.打開編輯器  
2.以.rb為你的文件擴展名
3.在測試文件的第一句寫上“require 'watir'”,確保可以訪問Watir工具。
4.打開瀏覽器並轉到要測試的應用
5.與之交互並設計你的testcase
6.在測試腳本中使用Watir方法
7.驗證結果

  watri常用語法:

1.使用Watir,需要在腳本中加上(固定寫法)
require 'watir'
2.創建一個IE的測試實例
ie = Watir::IE.new
或者在創建的同時直接轉到頁面
ie = Watir::IE.start("http://javame.cnblogs.com";)
Watir使用start方法同時創建一個瀏覽器實例並轉到一個頁面。

3.頁面導航
ie.goto("http://javame.cnblogs.com";)

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.5在Web頁面中輸入數據
4.5.1使用文本輸入框的那么屬性設置輸入內容
ie.text_field(:name, "typeinme").set("Watir World")
4.5.2清空文本輸入框 ie.text_field(:name, "typeinme").clear 對應的HTML代碼為: <input type = "text" name = "typeinme" >

4.6從Web頁面上提交數據
4.6.1按鈕
4.6.1.1通過值或標題屬性點擊按鈕 ie.button(:value, "Click Me").click
4.6.1.2通過name屬性點擊按鈕 ie.button(:name, "clickme").click
對應的HTML代碼為: <input type = "button" name = "clickme" value = "Click Me">

4.6.2表單
4.6.2.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.2表單中的圖片按鈕 使用那么屬性
ie.button(:name, "doit").click
對應的HTML代碼為: <form action = "submit" name = "doitform" method="post"><input type="image" src = "images/doit.gif" name = "doit"></form>

4.6.2.3沒有按鈕的表單 Watir can submit a form by identifying it by its name, action and method attributes. 可以通過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.3框架
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")
4.6.5新窗口
一些Web應用會彈出新窗口或打開一個新窗口,可以使用attach方法來訪問並控制新窗口。通過標示新窗口的URL或者title來訪問。
ie2 = Watir::IE.attach(:url, 'http://mytestsite')
ie3 = Watir::IE.attach(:title, 'Test New Window') 也可以使用正則表達式
ie4 = Watir::IE.attach(:title, /Test New/)
注意:不要把新窗口分配到你的ie變量,最好給新窗口一個不同的名字

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM