Selenium:javascriptを使用してフォームフィールドから値をクリアするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/429251

質問

selenium IDEとSelenium-Fitnesse Bridgeフィクスチャを使用しています。フォームフィールドからデフォルト値をクリアすると、フォームにエラーメッセージが表示されることをテストしようとしています。

したがって、Selenium IDEで記録すると、Seleniumに何も入力しないように指示するのと同じことになります。

| type | text_field |  |

これに関する問題は、私が使用しているFitnesseフィクスチャが、2番目の引数がnullでないことを期待していることです。

Seleniumには、「値を消去」する方法があります。 「何も入力しない」ではなく?

役に立ちましたか?

解決 2

これを使用して動作させました。 reg_start_date は入力フィールドのIDです。

| storeEval | window.document.getElementById('reg_start_date').value = '' |

セレン参照から:

  

デフォルトでは、スニペットは" selenium"のコンテキストで実行されることに注意してください。オブジェクト自体なので、 this はSeleniumオブジェクトを参照します。 window を使用して、アプリケーションのウィンドウを参照します。 window.document.getElementById( 'foo')

また、javascript {}でjavascriptコードをラップしないでください。動作しません。

他のヒント

次のようにjavascriptを使用して実行できます。

| verifyEval | javascript{this.browserbot.getCurrentWindow().document.getElementById('CONTROL_ID').value = ''} || 

事実、verifyEvalステートメントを使用すると、任意のjavascriptを実行できます。 Seleniumで達成するのが難しい問題をもっと簡単にします。

このチュートリアルを使用して(今日信じられないかもしれませんが)アウト。

この問題は最初にもありました。試してください:|タイプ| text_field |空白|

空白とnullの使用に関するFitnesseドキュメントの詳細を参照してください。

:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top