ロケータを追加して要素を指定する
  • 13 Sep 2023
  • 1 分で読めます
  • 投稿者
  • ダーク
    ライト

ロケータを追加して要素を指定する

  • ダーク
    ライト

Article Summary

AutifyのメンテナンスAI(以下AI)は、ページ内に変化があっても継続的に要素を選択できるよう、要素が持つ複数の特徴から総合的に判断し、最も一致度の高い要素を見つけ出します。しかし、 AIに頼らずに 特定の要素を選択したいケースが発生する場合があります。

たとえば以下のようなケースがあります。

  • テスト実行のたびにデータが変わるテーブルやリストで、常にN番目の要素を選択したい場合。
  • 要素の他の特徴に左右されることなく、常に特定の属性(classやIDなど)を持つ要素を指定したい場合。
  • 以下のような理由で、AIが誤った要素を見つけやすい場合。
    • 同じclassやidなどの属性を持つ要素が複数存在する。
    • 要素にclassやidなどの属性の設定がない。
    • 要素に付与されたclassやidなどの属性の値がたびたび変動する。

このような場合には ロケータ を使いましょう。ロケータでは、CSSセレクターもしくはXPathを利用して要素を選択できます。テスト内容に応じていずれかをご利用ください。

ロケータの使いかた

  1. シナリオをレコーディングします。

  2. ロケータを使いたいステップの詳細を開き、「ロケータを追加」をクリックします。
    image.png

  3. プルダウンメニューより、「CSSセレクター」か「XPath」を選択します。
    image.png

  4. 入力欄にCSSセレクター/XPathを記入します。CSSセレクター/XPathは、テスト対象のページの構造にあわせて記入してください。
    スクリーンショット 2023-07-04 1752242.png

不正な値を設定した場合はエラーメッセージが表示されます。
image.png

image.png

CSSセレクターの例を以下にいくつか挙げます。

要素の例CSSセレクター
data-test属性 'abc' を持つ<div>要素div[data-test='abc']
ID属性 'def' を持つ<p>要素の直下にある、'caution' クラスを持つ<span>要素p#def > span.caution
sample-list' クラスを持つ<ul>要素のリスト直下にある、一番最初の<li>項目ul.sample-list > li:first-child
href属性に 'https://autify.com' を持つ<a>要素a[href='https://autify.com']

CSSセレクターは、できるだけ短く、かつ一意に要素を特定できるものを指定するのがポイントです。

ロケータ利用時の注意点

  • ロケータを使用したステップでは、AIによるメンテナンスが効かなくなります。ロケータの利用は最小限に留めましょう。
  • 指定したCSSセレクター/XPathに複数の要素が該当した場合には、一番初めの要素が選択されます。
  • 指定したCSSセレクター/XPathに該当する要素が見つからない場合は、「対象要素が見つかりませんでした。」というエラーが発生し、ステップは失敗します。
  • ShadowDOM内の要素について
    • CSSセレクター: shadow-root内における要素を指定して選択いただけます。ただし、指定されたCSSセレクターに一致する要素が通常のDOM内で見つかった場合には、通常のDOM内の要素が選択されます。
    • XPath: ShadowDOM内の要素を選択することはできません。

関連記事


この記事は役に立ちましたか?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.