下面代碼演示了如何在waitr中獲取dom屬性。
在進(jìn)行自動(dòng)化測(cè)試時(shí),我們經(jīng)常要獲取這樣的一些信息:
某dom元素的class值,用以判斷該dom元素是否具有正確的樣式;
某dom元素的style屬性,用以判斷該dom元素是否具有正確的樣式;
通過dom元素的事件屬性,例如onclick onfocus等來定位識(shí)別特定元素;
以上三種情況我們分別討論。
獲取dom元素的class值:
考慮如下的html代碼
<a class = "classA" href = "blog.sina.com.cn/nakrul1">浮云的blog</a>
獲取class屬性的ruby代碼
ie.link(:link, 'classA').class_name
注意這里是class_name屬性
獲取dom元素的style屬性
考慮如下的html代碼
<a id = "idA" href = "blog.sina.com.cn/nakrul1" style = "width:200px">浮云的blog</a>
獲取width大小的ruby代碼
width = ie.link(:id, 'idA').attribute_value('style').invoke('width')
通過dom元素的事件屬性,例如onclick onfocus等來定位識(shí)別特定元素
考慮下面的html代碼:
<div onclick = "do_event()"></div>
<div></div>
<div></div>
我們?nèi)绻ㄎ挥衞nclick屬性的div,我們可以這樣做:
ie.divs.each do |d|
return d if d.html.contains?('onclick')
end