end
super( @o )
end
TextField的初始化方法還有supported_types,size,maxLength,assert_not_readonly,verify_contains,dragContentsTo,append,set,clear等方法。
這里有getObject方法在WATIR中使用普遍。主要是對該PAGE中的各種TAG進行精確定位。然后使用該Object的屬性進行特殊事件處理,下面是text_field的set方法主要是事件定位,發送鍵盤信息等處理。
def set( setThis ) assert_exists assert_enabled assert_not_readonly highLight(:set) @o.scrollIntoView @o.focus @o.select() @o.fireEvent("onSelect") @o.value = "" @o.fireEvent("onKeyPress") doKeyPress( setThis ) highLight(:clear) @o.fireEvent("onChange") @o.fireEvent("onBlur") end |
在源碼中也用到了AutoIT與IE.document(在.NET自動化中非常常用,用來對HTML PAGE的document化轉化,方便對object的操作)。AutoIT主要是對windows窗口屬性的設置和操作,比如發送鍵盤信息:
def send_keys (key_string) |
設置窗口狀態:
def set_window_state (state) |
開源的Watir對于web ui自動化是一個很好的福音,對于幾個自動化工具的橫向對比,都大體思路大同小異 ,都是對HTML Page的解析,使用object或者文檔化后進行正則表達式對對象的準確定位,再使用IEController進行操作,或者使用AutoIT對 windows窗口進行操作。
文章來源于領測軟件測試網 http://www.kjueaiud.com/