2013-05-06 71 views
0

所以我是Selenium的新手,在編程等方面我幾乎沒有任何背景知識。所以這裏是我的困境:通常我會使用Firefox附加程序來查找Xpath定位器來創建自動化測試腳本。我明白,使用CSS定位器要好得多,但當我右鍵單擊並打開「檢查元素」窗口時,嘗試解密CSS時出現問題,這是在我的瀏覽器中看到的。我的問題:有沒有一種方法可以學習如何在我的測試腳本中使用CSS定位器,而無需從頭學習全部內容?也許有些參考資料可以很容易地在任何Web元素上找到CSS信息。提前致謝!在Selenium 2/Webdriver中使用CSS

回答

2

你用什麼Firefox插件尋找Xpath?嘗試Firepath,它位於Firebug之上,並具有與xpath一樣的css評估程序。請看截圖。

enter image description here

+0

+1,可能是自從OP想要避免跑腿的最好方式。雖然,OP,我強烈建議您花時間閱讀CSS規範,首先理解選擇器和它們背後的邏輯。否則,你將不知道*如何*做出可靠的選擇器。如果有人問「這個選擇器是做什麼的,你會怎麼做?」你不知道,因爲你只是用了一個插件? – Arran 2013-05-06 09:53:23

-1

使用Firepath爲找出CSS定位器是一個偉大的想法,但我會建議你不要使用CSS定位器寫入自動運行的腳本。這是因爲CSS定位符嚴重依賴於在.CSS文件中定義的CSS屬性。

因此,如果開發人員更改任何元素的單個屬性,那麼Selenium IDE可能會或可能找不到您打算使用的同一個CSS seletor。

因此,最好先使用Id,因爲它們不會經常更改。如果Id的位置不在Selenium中,那麼您可以使用xpath,之後剩下的最後一個選項是CSS定位器。

+2

CSS選擇器幾乎與XPath一樣靈活,並且在XPath幾乎所有情況下都應該首選。每個現代瀏覽器都實現一個本地CSS選擇器引擎不是每個瀏覽器都實現了一個XPath-over-HTML引擎。一般情況下,WebDriver可以利用本地實現,這意味着CSS選擇器幾乎總是比XPath快。另外,使用CSS選擇器並不一定意味着你使用的樣式是樣式表。你可能會,但不一定。 – JimEvans 2013-05-13 13:02:08