- 印刷
- ダークライト
リストから値を選択するステップ
<select>
要素で実装されたリストから値を選択する操作をレコーディングすると、「リストから〜を選択する」ステップが作成されます。
<select>
要素以外で実装されたリスト<select>
要素以外で実装されたリストから値を選択する操作をレコーディングすると、通常は選択肢を開くためのクリックと選択肢を選択するためのクリックの2つのクリックがレコーディングされます。
検索対象
テスト実行時は「リストから〜を選択する」ステップのラベルに設定されている値で、リスト内の選択肢を検索し、ラベルに設定されている値を持つ選択肢を選択します。
検索対象はoptionタグで囲まれた値(<option>この文字列</option>
)です。<option label="1" value="1"></option>
のように、optionタグに囲まれた値がない選択肢は現状サポートしていません。
現状「リストから〜を選択する」ステップでは、
- 選択肢のN番目を選択する
- 「〜」を含む選択肢を選択する
- 「〜」から始まる選択肢を選択する
など、ラベル完全一致以外の方法で選択肢を選択することができません。
ステップがレコーディングされない場合
Autifyレコーダーは、値が変更されたこと(選択肢が変わったことなど)を検知してステップを記録するため、既に選択されている値を選択し直しても、「リストから〜を選択する」ステップはレコーディングされません。
別の選択肢を選択してから、希望の値を選択し直すことでステップのレコーディングが可能です。その後に、不要なステップを削除してください。
値がレコーディングされない場合
現状<option label="1" value="1"></option>
のように、optionタグに囲まれた値がない選択肢はサポートしていないため、この形式の選択肢の選択をレコーディングした場合、値がレコーディングされず、「リストから〜を選択する」の「〜」の部分が空白になります。
シナリオ編集画面で値を後から入力すると、ローカルリプレイではうまく動作しますが、テスト実行では選択肢が見つからずテストが失敗します。
ローカルリプレイはシナリオ更新を助けるための機能で、テスト実行とは挙動が違う場合があります。これはその違いの一つです。詳しくは ここにレコーディング (ローカルリプレイ) - 3. ローカルリプレイとテスト実行の違い をご覧ください。
ロケータを設定する
ロケータを設定するときは、選択する<option>
要素ではなく<select>
要素のCSSセレクター/XPathを指定してください。<select>
要素以外のCSSセレクター/XPathを指定した場合は、ローカルリプレイ・テスト実行が失敗します。
なお、ロケータに選択したい選択肢のCSSセレクター/XPathを指定しても、その選択肢を選択するといった動きにはなりませんのでご注意ください。
複数選択が可能なリスト
multiple属性が指定されているリストは、複数の選択肢を選択することが可能です。複数選択可能なリストで、選択肢を切り替える操作をした場合は、「リストから〜の選択を解除する」と「リストから〜を選択する」の2つのステップが作成されます。
選択肢から「1」を選択した後に、「2」を選択した場合は以下のようにステップがレコーディングされます。
「1」を選択した後に、shiftやctrl (cmd)を押したまま「2」を選択した場合は、「リストから〜の選択を解除する」ステップはレコーディングされません。