私は、カレンダーを使用して開始日と終了日を入力する必要があるウィジェットをテストしています。実際の生活では、ドロップダウンから日付を入力するオプションを選択し、開始日と終了日をクリックする必要がある場所にカレンダーが表示されます。私が2日間クリックすると、日付フィールドが埋められます。私はこの手動では問題はありませんが、テストを自動化するのは難しいです。ここで私がしようとしていることを説明するためのスクリーンショットがあります。次の画面に日付を入力するオプションを選択した後に表示されます。datepickerで日付を選択できません
ここ私が最初の日に(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();
ここの一部です:私は、次のコードでこれを自動化しようとしている
コード私はこれをベースにしています:
<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>
コードは失敗しませんが、日付も選択されていません。
でテストあなたが要素であることを検証することができます:あなたは日付ピッカー
で許可されている(注2)厳密に日付の書式に従ってくださいする必要があります。その後、JavaScriptの
注1を使用してこのコマンドを実行しますそれをクリックする前に表示されます。これは、要素が選択可能であることを保証する。 –
これをどのように確認できるか教えていただけますか? – Hugo
コードが失敗しないことは確かですか?おそらく、あなたはNullPointerException、または要素を見つけることができなかった他のエラーを飲み込んでいるtry/catchブロックを持っていますか? @VigneshParamasivamはおそらく適切なトラックにあります。クリックする前に要素が表示されるのを待つ必要があります。 –