watir學習總結(一)

前言 

最近在學習watir,一方面是老大布置給我的任務,另一方面我也對自動化測試很感興趣,作爲實習生能有這樣的學習機會還是要好好把握的。

這次的研究,是針對我們項目組快上線的項目,一個B/S系統。主要用C#.NET開發,所以ruby和watir的安裝環境都在windows。雖然watir是跨平臺的,但在配置環境的時候還是遇到了麻煩,可能由於公司的網絡限制,造成了gem無法在線安裝,只能本地安裝。另外,作爲新手的我使用Emacs還不太上手,所以目前需要一個IDE幫助我學習,老大給了我一個支持ruby的綠色版NetBeans,研究正式開始。

環境說明

操作系統:windows XP

ruby:1.8.7

Watir:1.6.5

瀏覽器:IE8

關鍵問題

watir的一些基本操作在這不一一詳解,我參考了watir對web的操作。在這總結一下研究過程中遇到的棘手問題。

(1)文本框輸入中文

在網上找了很多種方法,也試了很久,以下的方法我本人也驗證過,可以正常地輸入中文。

第一步:NetBeans->項目->屬性->編碼->將UTF8改爲GB2312

第二步:win32ole.rb文件->將“WIN32OLE.codepage=WIN32OLE::CP_UTF8”改爲“WIN32OLE.codepage=WIN32OLE::CP_ACP”

(2)定位frame

根據wiki.openqa.org的說法,在irb中利用ie.show_frames可以獲得該頁的frame數量和對應名稱,但是我試了之後,僅能得到frame的數量,不知道是版本問題還是缺少安裝了gem。

目前,我只能利用IE8中的開發人員工具找到所有的frame的名稱,再用ie.frame(:name,"frame")進行定位。

(3)識別PageTabList的<li>標籤

此類標籤我是利用XPath來進行識別的,具體地如下圖所示的html代碼:

 

目前,我們可以採用兩種方法,

a)ie.link(:xpath,"//li[3]").click

b)ie.element_by_xpath("li[contains(@id,'POType_200334')]/").click

疑難問題

(1)js中的showDialog和showModalDialog如何定位

例如上圖所示的彈出框目前我沒有找到辦法定位,已經嘗試過利用正則表達式匹配或是修改modal_dialog.rb文件等方法。

(2)td中的元素無法用xpath定位

若td中的元素無id、name可以幫助定位,目前沒有找到合適的方法。

參考資料

 

[1] watir的本地安裝過程

[2] watir對web的操作

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章