2012-02-29 84 views
5

我有一個顯示佔位符文本時,文本框沒有焦點文本框的佔位符文本。當焦點被移動到本框(通過將光標在文本框中),佔位符文本消失,並且光標顯示在文本框中。我試圖自動化確認此行爲的場景。有沒有人試圖自動化類似的情況?任何建議,將不勝感激。由於檢查使用硒的webdriver

回答

1

我做過類似的測試。對於帶有佔位符文本的字段,文本顯示在元素的佔位符屬性中。在Ruby中,我們使用這樣的代碼:

element = @driver.find_element(*<locator string>*) 
expected_placeholder_text = element.attribute('placeholder') 

這給了我們一個字符串,我們就像任何其他字符串進行比較。你也可以縮短element.attribute電話是

element['placeholder'] 

爲好,但我們更喜歡前者(對於非相關的,完全是任意的原因)。

+0

這並沒有回答如何驗證的實際行爲的問題。您只是假設HTML5佔位符會使瀏覽器正常工作。 – scott77777 2013-02-15 19:10:21

+3

,除非你在瀏覽器的開發團隊,爲什麼你需要確保瀏覽器正確地做什麼它說,它會嗎?你和你的團隊將如何處理瀏覽器的錯誤報告,而不是按照它所說的去做? 從另一個角度來看,如果您有一個自動化測試來驗證應用程序代碼中是否存在佔位符屬性並且符合預期,那麼每個版本手動啓動一次瀏覽器需要多長時間並確保文本出現?你能在更短的時間內建立和維護自動化嗎? – 2013-02-28 15:59:41

4

可以使用的webdriver的getAttribute方法得到的佔位符文本。

的HTML:

<input id="<ur id>" class="<ur class name>" type="password" lang="en" maxlength="30" placeholder="Enter Password" data-label="passwordPlaceholder" tabindex="5"> 

的Java代碼:

String password=driver.findElement(By.cssSelector("ur css path")).getAttribute("placeholder");