曾經在 WebDriver 小毛筆記(四)中提到,自動化測試的過程無非兩點:
1.找對象 2.做事
在這茫茫人海中,怎麼知道哪個是我們認識的人?
考慮一個簡單的問題:人的屬性有哪些?
1.名字 2.身份證 3.長相特徵 4.衣着服裝 5.說話語氣 6.行爲習慣 ...
基本憑藉幾種屬性就能夠識別出你所認識的人了。
當然也有例外:
1.名字:可能用重名,某些人名字相同。
2.身份證:如果沒造假的話,應該是唯一的。
3.長相特徵:雙胞胎長的很像吧?有時你分不出誰是姐姐誰是妹妹吧?
4.衣裝和語氣和行爲:有相似或者相同的很正常。
講了這麼多廢話只想表明一點:我們找的對象必須是唯一性的,獨一無二的。
來看下在一個玲琅滿目的Web頁面上,如何找到對象。
簡單舉兩個例子:假設有一個這個的文本框
<input type="text" name="login" id="lid" class="login">
我們可以通過id,name,className....
WebElement element = driver.findViewById(By.id("lid"));
WebElement element = driver.findViewById(By.name("login"));
我們把文本框看作一個對象,其中的屬性則能夠表示這個對象的唯一性。
我們可以通過:id、Name、XPath、ClassName、LinkText 去找到這些唯一屬性
Firebug 可以幫助我們去了解頁面對象的屬性。
平時簡單的對象一般直接使用ID 或 Name 就能找到,但凡是有例外,有些對象會存在屬性共有的情況下,或是缺少的情況下,又或各種原因導致對象難找,此時可以用Selenium IDE 去借鑑工具是如何尋找對象的。
Selenium IDE 中的 Target 能夠幫你解決這個問題