Selenium 網頁自動化測試 – 網頁元件定位技巧
這篇文章主要說明在進行網頁自動畫測試時,如何有效定位找到網頁元件?
有效的定位找到網頁元件是自動化測試的第一步驟,我們討論幾種小技巧減少網頁元件定位錯誤。
1. 直接定位
考慮下列幾種方式的定位方式,其中筆者建議使用 Xpath
為什麼呢? 因為這樣就不用特別去注意到底是使用 ID or Name
全部使用 Xpath 後,可以在 Xpath 中指定使用 ID or Name
- Id=Password
- Name=Password_Field
- Value=Password_Value
- Link=Contact Us
- Xpath=//*[@name=’Password_Field’]
- Xpath=//*[@Id=’Password’]
2. Xpath 常用使用方式
下列是幾種 Xpath 常用的使用方式定位網頁元件
- //*[contains(text(), ‘Partially Matched Contents’)]
- //input[contains(@id, ‘myTextField’)]
- //*[@name=’Password_Field’]
- //*[@Id=’Password’]
舉例來說,有某些檔案下載的網址是隨機的亂數,但是附檔名都是 DOC ,這時候就可以利用 Xpath 小技巧來定位
http://www.fileconvoy.com/dfl.php?id=g9002d9ff1e9b6ddd999753374cf7af895e9a7d4d0 |
- //*[contains(text(), ‘http://www.fileconvoy.com/dfl.php?id=’)]
如果找到多個網頁元件怎麼辦? 可以透過陣列的方式選取第1個、第2個..
- (//*[contains(text(), ‘http://www.fileconvoy.com/dfl.php?id=’)])[1]
- (//*[contains(text(), ‘http://www.fileconvoy.com/dfl.php?id=’)])[2]
滑鼠與鍵盤操作
- Click and ClickAt (當 Click 無法成功時才使用 ClickAt)
- MouseDown and MouseDownAt
- MouseUp and MouseUpAt
- MouseMove and MouseMoveAt
- DragDrop
- KeyDown and KeyUp (很少用。當上述方式都無法成功時才使用)