SeliniumとxPathを使用してエンドツーエンドのテストを簡単に実行できます
たとえば、次のようなコード:
<DatePicker id='datepicker' />
は、コンパイルされたコードに次のようなものを与える必要があります。
...
<div class="ant-calendar-date-input-wrap">
<input class="ant-calendar-input " value="" placeholder="Select date" id="datepicker">
</div>
...
素晴らしい仕事をしてくれてありがとう!
IDの追加は、すべてのコンポーネントで機能するとは限りません。 Selectコンポーネント、最も単純なSelectコンポーネントは入力をレンダリングしないとしましょう。入力に値を割り当てて、Selectの値を変更することはできません。
@yesmeckは、この問題に関する詳細情報を提供してくれてありがとうございます。それで、あなたが知っている他の方法はありますか? エンドツーエンドのテストに適した他のツールを知っていますか? これはantd @ 3で機能しますか? いいえの場合...少なくとも、事前に入力された値を読み取ることができます。
DatePicker
入力にIDを追加しても機能しません。 DatePicker
を入力したいので、ユーザーの行動をシミュレートする必要があります。
私が見る限り、現在、クラス '.ant-calendar-input'を使用して入力フィールドに任意の種類のIDを渡す方法はありません。
rc-calendarモジュールを調べます。
入力フィールドにid
を追加すること( DatePicker
ようなコンポーネント内であっても)は、アクセシビリティの理由から重要です。 関連するラベルにhtmlFor
を追加し、ラベルをクリックしたときに入力フィールドにフォーカスを合わせたいと思います。
IDをサポートしていないコンポーネントが見つかった場合はいつでもPRできます。
UIテストにuilicious.comを使用していますが、IDが存在しない場合は非常に困難です。
最も参考になるコメント
入力フィールドに
id
を追加すること(DatePicker
ようなコンポーネント内であっても)は、アクセシビリティの理由から重要です。 関連するラベルにhtmlFor
を追加し、ラベルをクリックしたときに入力フィールドにフォーカスを合わせたいと思います。