2009-10-01 2 views
5

MVCにはWeb UIプロジェクトがあり、自動テストのためにSeleniumを使用しています。これは素晴らしいツールです。しかし、私はSeleniumでイベントを起こす際に問題に直面しています。セレンRCと入力コントロールイベント

シナリオ: -ve値を入力したときにエラーを表示し、そのテキストボックスからタブをクリックするか、ページの任意の場所をクリックしたときにエラー(javascript)が表示されます。

通常のユーザーのウェブサイトとのやりとりで正常に動作しますが、セレンを使用する場合はこの動作を達成できません。私はSelenium.Type( 'elementId'、 - ve値)を使ってテキストを入力していますが、イベントは発生せず、エラーは起きません。

FireEvent( "textboxId"、 "blur")を使ってみましたが、動作しませんでした。 唯一の回避策は、テキストボックスに焦点を合わせ、値をいくつか追加し、FireEvent( "textbox"、 "blur")を使用して、他のテキストボックスにフォーカスを当てます。

これを解決する方法はありますか?

答えて

1

あなたの回避策は悪い選択肢のようには聞こえません。フィールドにフォーカスを当ててコンテンツを変更すると、ぼかし(他のフィールドでのフォーカス)はユーザーとまったく同じように行われます。

別の代替案(私はまだ他のフィールドに焦点を当てた方がよい)は、getEvalを使用してフィールドを検証するjavascript関数をトリガーすることです。 http://www.theautomatedtester.co.uk/seleniumtraining/Selenium_JavaScript.htm

4

私は(「ID = textboxid」

  • タイプを呼び出すことによって、このSelenium RCのでJavaクライアントでの作業を取得することができた、「newValueに」:あなたはそれを行う方法についてのチュートリアルを確認することができます);

、次いで

  • fireEvent( "ID = textboxid"、 "ぼけ")。

「ぼかし」イベントがまったく発生しているかどうかを確認できましたか?多分ロケータがイベントを起こすためにかなりうまく動作していなかったのだろうかと思います。

RCクライアントを使用している場合は関数内で2-3コールをラップするか、register some user extensionsを1ステップで実行する必要がありますあなたがSelenium IDEを使用している場合。

0

「ぼかし」はすばらしい検索です!ありがとうございました。

私の問題は少し異なりました。ここでは、(親)ドロップダウンリストに「ぼかし」を使用して、2番目(子供)のドロップダウンリスト(州や郡など)にポピュレートしなかった方法を示します。

  1. Selenium.Focus( "id = drpdwnState");
  2. Selenium.Select( "id = drpdwnState"、 "label = Michigan");
  3. Selenium.FireEvent( "id = drpdwnState"、 "blur");
  4. Selenium.Focus( "id = drpdwnCounty");
  5. セレン。Select( "id = drpdwnCounty"、 "label = Grand Traverse");

これは誰かを助けることを望みます。 乾杯!

関連する問題