2016-05-24 18 views
0

私は、カレンダーを使用して開始日と終了日を入力する必要があるウィジェットをテストしています。実際の生活では、ドロップダウンから日付を入力するオプションを選択し、開始日と終了日をクリックする必要がある場所にカレンダーが表示されます。私が2日間クリックすると、日付フィールドが埋められます。私はこの手動では問題はありませんが、テストを自動化するのは難しいです。ここで私がしようとしていることを説明するためのスクリーンショットがあります。次の画面に日付を入力するオプションを選択した後に表示されます。datepickerで日付を選択できません

ここ

enter image description here

私が最初の日に(31)に続い日から(24)を、クリックしてください。私は31カレンダーdissappearsをクリックして、2つの日付フィールドは、私の選択で満たされた直後:

driver.findElement(By.xpath(".//span[@class='DateRangePicker__DateLabel'][contains(text(), '24')]")).click(); 
driver.findElement(By.xpath(".//span[@class='DateRangePicker__DateLabel'][contains(text(), '31')]")).click(); 

ここの一部です:私は、次のコードでこれを自動化しようとしている

enter image description here

コード私はこれをベースにしています:

<span class="DateRangePicker__DateLabel" data-reactid=".0.1.1.0.1.1.1.0.0.2.0.1:$0-2016-4.1.1.$4.$1.2">24</span> 

コードは失敗しませんが、日付も選択されていません。

+0

でテストあなたが要素であることを検証することができます:あなたは日付ピッカー

で許可されている(注2)厳密に日付の書式に従ってくださいする必要があります。その後、JavaScriptの

$('#id').datepicker("setDate", "date_you_want_in_right_format") 

注1を使用してこのコマンドを実行しますそれをクリックする前に表示されます。これは、要素が選択可能であることを保証する。 –

+0

これをどのように確認できるか教えていただけますか? – Hugo

+0

コードが失敗しないことは確かですか?おそらく、あなたはNullPointerException、または要素を見つけることができなかった他のエラーを飲み込んでいるtry/catchブロックを持っていますか? @VigneshParamasivamはおそらく適切なトラックにあります。クリックする前に要素が表示されるのを待つ必要があります。 –

答えて

0

セレンでDatePickerの使用して - あなたは、フィールドからとのIDを調べることができLINK

+0

リンクが壊れた場合、コードサンプル/方法で十分です。この回答は無効になります。 –

+0

リンクが壊れるとこの回答は無効になります???そのリンクはセレンの日付ピッカーを扱うことについての主要なアイデアを得ることです。 –

+0

問題を解決するためのあらゆるアイデアを提供しますが、それはSO答え定義に適合しません。コンテンツが別のページ/構造に移動するとどうなりますか?サイトがダウンしたらどうしますか?サイトは私が欲しいものを見に行くまで待っているのだろうか?理にかなっている? –

0

を。 https://jqueryui.com/datepicker/

$('#datepicker').datepicker("setDate", "03/15/2016") 
+0

ありがとうございますが、フィールドに日付を入力するのではなく、実際に日付をクリックしたいと思います。スクリプトで実際のユーザーアクションを複製する必要があります。 – Hugo

+0

あなたの年齢のためのコードスニペットを投稿してください。私はあなたに助けることができた。上記の私の提案した方法に変更する前に、あなたが望むように既に書いています。 –

関連する問題