單選按鈕是個常見的html元素,在網頁中往往提供一組單選按鈕來做選項。
這樣在自動化測試用例中需要判斷當前選中的按鈕是否與預期的一直。
可以這樣來操作:
${value} Get Element Attribute xpath=//form[@id='xxx']/*/input[@value='yyy']@checked
上面的關鍵字Get Element Attribute是獲取html元素的指定屬性的屬性值。該關鍵的字的參數是 元素定位符后加上@要獲取的屬性名
上面例子是獲取 checked 屬性,表示是否選中。
前面的元素定位符表示獲取 id為xxx的form下的孫子節點為input元素(且該元素的value屬性值為yyy)。
如果對該按鈕的預期值為 true,則就可以通過should be equal關鍵字來判斷。
should be equal ${value} true
注意:
在實際測試中我們發現利用input的其它屬性可以定位到元素,如:
xpath=//form[@id='f204']/*/input[@type='radio']
但是,發現利用checked屬性卻無法定位,下面的三種寫法都無法定位到被選中的按鈕(實際是有選中的)。沒有找到原因,也許是因為checked狀態是通過js來設置的。所以,最終只能通過上面介紹的 Get Element Attribute 關鍵字來解決判斷按鈕是否被選中的問題。
xpath=//form[@id='f204']/*/input[@checked='true']
xpath=//form[@id='f204']/*/input[@checked=true]
xpath=//form[@id='f204']/*/input[@checked]