2012-02-29 13 views
5

テキストボックスにフォーカスがないときにプレースホルダテキストを表示するテキストボックスがあります。このテキストボックスにフォーカスが移動すると(カーソルをテキストボックスに置くと)、プレースホルダテキストが消え、カーソルがテキストボックスに表示されます。私はこの動作を確認するシナリオを自動化しようとしています。誰もこれまで同様のシナリオを自動化しようとしましたか?任意の提案をいただければ幸いです。ありがとうSelenium Webdriverを使用したプレースホルダテキストの確認

答えて

1

私は同様のテストを行っています。プレースホルダテキストのフィールドの場合、テキストは要素のプレースホルダ属性に表示されます。 Rubyでは、次のようなコードを使用します。

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

これは、他の文字列と同様に比較する文字列を返します。あなたはまた、同様に

element['placeholder'] 

するelement.attributeコールを短縮することができますが、我々は(非関連および完全に任意の理由で)かつてのを好みます。

+0

これは、実際の動作を確認する方法についての質問に答えていません。 HTML5プレースホルダがブラウザを適切に動作させると仮定しているだけです。 – scott77777

+3

そして、あなたがブラウザ開発チームにいない限り、なぜブラウザはそれが正しいと言うことを正しくしていることを確認する必要がありますか?あなたとあなたのチームは、それが言っていることをしていないブラウザのバグレポートをどうしますか? プレースホルダ属性が存在し、アプリケーションコードに期待通りの自動テストがある場合、バージョンごとにブラウザを手動で起動するにはどのくらい時間がかかるのですか?テキストが表示されることを確認しますか?より短い時間で自動化を構築&維持できますか? –

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"); 
関連する問題