JSF2.0にフィールドの検証が必要なページがあります。これはクロスフィールド検証であるため、フィールドをUIComponentにバインドしました。 3つのフィールドはすべて<h:inputText>
です。すべてがHtmlInputText
にバインドされています。JSFでセレンの入力テキストが機能しない
検証方法は、HtmlInputText
すべての値を読み込むだけです。私は、アプリケーションを実行し、手でそれを使用するとかなりうまく動作します。問題は、セレンが値を入力するときには機能しません。セレンコードの一部は次のとおりです。
selenium.type("identifier=myForm:myTextField", "someText");
したがって、テキストフィールドにテキストを入力します。それは動作し、私はテキストが実際にそこにあるのを見ることができます。しかし、UIComponentsから値を読み取る検証メソッドをデバッグすると、値は "Submit"をクリックした後にnull
になります。手で入力した場合はnull
ではなく、セレンが入った場合のみです。
なぜですか?なぜセレンが働かないのですか?それは私が手で行うこととかなり同じですが、それは手で行われ、セレンでは機能しません。
セレンのような問題は一度もありませんでした。あなたはこれが 'binding'を使うコンポーネントに特有であることを示唆しているようです。だから、バインディングレスの入力フィールドはうまくいくのですか?とにかくモデル値は更新されていますか? Beanアクションメソッドが呼び出されていますか?いくつかの 'f:ajax'関与はありますか?とにかく、あなたの ''、関連するマネージドBeanコードと生成されたJUnit/TestNG '@ Test'メソッドを抜粋してみれば、問題を再現しようとするか、エラーを見つけ出すことができます。 –
BalusC
ありがとうございます@BalusC。私は、問題を発見し、それは私の次の質問に記載されています:http://stackoverflow.com/questions/4439716/問題は、非表示のフィールドは、フィールドの前に私が検証したいフィールドにあった。 – amorfis
これはセレンの問題とどのくらい正確ですか?この隠しフィールドはJSで埋められていますか? – BalusC