JavaScript ステップ

Prev Next

JavaScriptステップとは?

JavaScriptステップとは、Autifyの「シナリオ」内でお客様ご自身で任意のJavaScriptを記述する機能です。
この機能を使うことで、Autifyの標準機能でサポートしていない操作やアサーションも実行できるようになります。
例えば、以下のようなユースケースでご利用可能です。

  • メール内のワンタイムパスコードを取得し、後続ステップで入力
  • 動的な日付やユーザー名を生成し、後続ステップで入力
  • 要素の属性値を検証
    また、autify.mobile.getDriverのメソッドを利用することで、Appiumのライブラリを参照し利用することも可能です。ぜひご利用ください。

JavaScriptステップはバブリックベータ機能としての提供となります。
パブリックベータ機能について詳しく知りたい方は、こちらをご参照ください。

JavaScriptステップをシナリオに追加する方法

  1. JavaScriptステップを追加したいシナリオ詳細画面を開きます。
  2. JavaScriptステップを追加したいステップの間にカーソルを移動させます。
  3. ボタンをクリック、表示されるメニューから「JavaScriptステップを挿入」を選んでください。
    スクリーンショット 2025-09-01 22.34.16.png
  4. テキストエディタにJavaScriptのコードを入力します。コードは関数で囲ってありますから、シンタックスを入れる必要はありません。
    スクリーンショット 2025-09-02 22.42.43.png
  5. 任意でステップに名前を付けたり、メモを記入したりできます。ステップの説明などにお役立てください。
    スクリーンショット 2025-09-01 22.38.08.png
  6. 「保存」をクリックし、シナリオを保存します。

「JavaScriptステップ」で取得・生成した値を入力ステップで使う

「JavaScriptステップ」で取得・生成した値は、returnをすることで後続の入力ステップで使用することができます。

  1. シナリオ詳細画面でreturnされた値を使用するステップをクリックします。

  2. 入力値のドロップダウンから、「他のステップから取得」を選び、どのJavaScriptステップがreturnした値を使用するか選びます。
    スクリーンショット 2025-09-02 7.27.48.png

  3. シナリオを実行すると、テスト結果上で、実際にreturnした値を確認できます。
    スクリーンショット 2025-09-02 7.34.32.png

  • Javascriptステップ作成後、1度「保存」をすることで、後続ステップでJavascriptステップの値を利用できるようになります。
  • Javascriptステップ内でreturnしていない場合は、この値はnullになります。

JavaScriptステップで利用可能な関数

NoCode Mobileでは、現状、サポートされている関数が限定されております。
サポートされている関数については、以下をご確認ください。

タイトル プラットフォーム 参照 備考
autify.mobile.getDriver Android, iOS Non standard API Appiumドライバーインスタンスを取得
driver.executeScript Android, iOS https://webdriver.io/docs/api/webdriver/#executescript
driver.findElement Android, iOS https://webdriver.io/docs/api/webdriver/#findelement
driver.findElements Android, iOS https://webdriver.io/docs/api/webdriver/#findelements
element.click Android, iOS https://webdriver.io/docs/api/element/click
element.getAttribute Android, iOS https://webdriver.io/docs/api/element/getAttribute
element.getLocation Android, iOS https://webdriver.io/docs/api/element/getLocation
element.getTagName Android, iOS https://webdriver.io/docs/api/element/getTagName
element.getText Android, iOS https://webdriver.io/docs/api/element/getText
element.getValue Android, iOS https://webdriver.io/docs/api/element/getValue
element.isDisplayed Android, iOS https://webdriver.io/docs/api/element/isDisplayed
element.setValue Android, iOS https://webdriver.io/docs/api/element/setValue
element.longPress Android, iOS https://webdriver.io/docs/api/mobile/longPress
fetch Android, iOS https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API 標準のfetchとは完全な互換性はありません。
sleep Android, iOS Non standard API

留意点

Javascriptステップの検証や実装にあたっては、実際のアプリケーションのコードを確認しながら進める必要がある場合がございます。開発環境を構築いただく、もしくは、開発者の方のご協力の元、ご実装ください。
なお、本機能は、お客様ご自身による開発を前提とした機能となりますため、カスタマーサポートにて、お客様に代わってコードを作成することはできかねますので、あらかじめご了承ください。

FAQ

  • アサーションステップでの利用はできますか?
    • 現状、アサーションステップでJavascriptステップで取得した値を期待値として利用することはできません。
  • 引数を使うことはできますか?
    • 現状、Javascriptステップで引数を使うことはできません。
  • よく使う操作をスニペットとして登録できますか?
    • 現状、スニペットの登録はできません。
  • NoCode WebのようなJavascriptスニペットの提供はありますか?
    • NoCode Mobileのみに向けたスニペットの提供はございませんが、NoCode Web向けのスニペットの一部は共通でご利用いただけます。ぜひご利用ください。
    • Autify JavaScript Snippets