JSステップで要素のテキストを取得する

Prev Next

要素のテキストを取得する

Autifyでは、JSステップで要素が持つテキストを取得し、後続のステップで使用することが可能です。

JSステップには以下2つの方法があります。

要素に対するJSステップを使用する方法

要素に対するJSステップには、通常のJSステップと比べて以下の利点があります。

  • AutifyのAIが要素を取得するのでCSSセレクター/XPathの取得を省ける。
  • 要素取得の処理を書かなくて良いので比較的少ないコードで済む。
  • ページのローディング完了や要素の出現を自動で待ってくれる。
  • テスト結果のスクリーンショットで対象要素がハイライトされる。

ステップの作成方法

  1. レコーディング中に対象の要素を右クリックし、「Autify Recorder > JSステップを追加する」を選択し、保存します。
    ja-add-js-step

  2. 引数にelementという値が設定されたJSステップがシナリオに作成されます。このelementにはAutifyのAIが取得した要素が格納されます。
    ja-element-argument
    すでに、要素が取得されている状態ですので、コード部分には要素のtextContentreturnする以下の一文を書くだけです。

return element.textContent;
  1. テストを実行すると要素のテキストの取得が確認できます。
    ja-return-value-js-step-for-element

また通常のJSステップと違い、テスト結果のスクリーンショットで対象の要素がハイライトされるため、どの要素を対象としているのかがすぐに分かります。
ja-screenshot-js-step-for-elemen

トラブルシューティング

要素の取得に失敗する場合は、以下の方法で解決する場合があります。

  • クイック要素更新で簡単に要素の更新を行えます
  • ロケータの設定が有効です
    • ロケータを設定する場合は、CSSセレクター/XPathの取得が必要ですが、他の3つの利点は引き続き得ることができます

通常のJSステップとスニペットを使用する方法

基本的には要素に対するJSステップを使用する方法をお勧めしますが、対象のページで独自の右クリックメニューを実装している場合、要素に対するJSステップを追加することができません。その際は、通常のJSステップを使用した方法をお使いください。

ステップの作成方法

  1. JSステップをシナリオに挿入し、要素のテキストを取得するスニペットをコピーしてJSステップに貼り付けます。

  2. CSSセレクター / XPathを取得するを参考に対象要素のCSSセレクターを取得し、var selector = "<TODO: REPLACE SELECTOR>";<TODO: REPLACE SELECTOR>と置き換えます。

// 例
var selector = "#doc_header > div.landing_top > div > div.landing_top_inner.center > h1";
  1. テストを実行すると要素のテキストの取得が確認できました。
    ja-return-value-normal-js-step

その他

  • textContentで希望する要素のテキストが取得できない場合は、innerTextを使用することで改善する場合があります。