このセクションの内容:
概要
Parasoft Recorder は、Web アプリケーションとのやり取りの最中に API 呼び出しとユーザー アクションを記録できるアドオン コンポーネントです。API トラフィックを、CTP または SOAtest デスクトップで拡張/実行できる API テストに変換できます。記録されたユーザー アクションをダウンロードし、Parasoft Selenic を使って Selenium テストに変換できます。Parasoft Recorder には次のコンポーネントが含まれています:
- Parasoft Recorder Chrome 拡張機能: Chrome ブラウザー拡張機能はローカル マシンにインストールされ、記録を開始/停止するためのインターフェイスを提供します。SOAtest Web プロキシが API トラフィックをテストに変換できるように SOAtest への接続を構成するためのインターフェイスも提供します。
- SOAtest Web Proxy: プロキシはトラフィックを処理して SOAtest に .tst ファイルを作成します。
- Parasoft Root Certificate Authority: CA は HTTPS トラフィックの記録を可能にします。
システム要件
このセクションでは、Parasoft Recorderコンポーネントと関連機能の要件について説明します。
ブラウザー拡張機能
- Google Chrome バージョン 116+
- API トラフィックを記録するには、バージョン 2023.2 以降の SOAtest Web Proxy も実行している必要があります。
SOAtest Web Proxy
- Web プロキシを実行するには、ポート 40090 が利用可能でなければなりません。
API テストの生成
- SOAtest デスクトップまたはサーバー 2022.1 以降
Selenium テストの作成と管理
- Selenic の System Requirements を参照してください。
ライセンス
Parasoft Recorder は自由にダウンロードしてインストールできますが、SOAtest の API テスト生成機能または Parasoft Selenic の Selenium テスト作成および管理機能を使用するには、有効なライセンスが必要です。ライセンス情報の詳細については、Parasoft 製品カスタマーセンター ([email protected]) にお問い合わせください。
API テストのライセンス
トラフィックを記録してテストを生成するには、SOAtest の Advanced Test Generation ライセンス機能が必要です。以下のライセンス オプションを設定できます。
- Advanced Test Generation Desktop: SOAtest がインストールされているのと同じマシン上にあるプロキシからアセットを作成できます。リモート マシンからのアクセスは許可されていません
- Advanced Test Generation 5 Users: 最大 5 ユーザーが、SOAtest サーバーに接続された任意のマシンからアセットを作成できます。
- Advanced Test Generation 25 Users: 最大 25 ユーザーが、SOAtest サーバーに接続された任意のマシンからアセットを作成できます。
- Advanced Test Generation 100 Users: 最大 100 ユーザーが、SOAtest サーバーに接続された任意のマシンからアセットを作成できます。
Selenium テストのライセンス
ライセンスの詳細については、Parasoft Selenic のドキュメントを参照してください。
インストール
OS に適したインストール ファイルを実行し、OS のウィザードに従ってインストールを完了します。
- Windows: parasoft_recorder_<version>_win32.exe
- macOS: parasoft_recorder_<version>_macos_aarch64.dmg またはparasoft_recorder_<version>_macos_x86_64.dmg (アーキテクチャによる)
- セキュリティのため .dmg ファイルを実行できない場合、ファイルを右クリックして [Open With] > [Installer] を選択します。
インストーラーの使用で問題が発生した場合は、「Manual Installation」を参照してください。
Windows へのインストール時、Parasoft SOAtest Web Proxy を Windows サービスとしてインストールするかどうか確認されます。サービスとしてインストールすると、Windows のスタートメニューの下にある SOAtest Web Proxy コンソールのほか、Windows のコントロール パネルにあるサービス コンソールを使用してプロキシを開始および停止できるようになります (「Starting the Web Proxy」を参照)。また、実行可能 .jar ファイルを実行して、手動でプロキシを開始することもできます (「Manually Starting the Web Proxy」を参照)。
Windows および Mac 版のインストーラーは、Google Chrome ストアから Parasoft Recorder をインストールするよう指示します (表示は Windows 版)。Google Chrome ストアへのアクセスが許可されていない場合、またはインストーラー実行時に問題が発生した場合は「Manual Installation」を参照してください。
Parasoft Root Certificate Authority が検出されなかった場合、インストールするよう指示されます。CA は HTTPS 上でトラフィックを記録するために必要です。通常、SOAtest/Virtualize デスクトップ アプリケーションに伴って CA がインストールされます。手動で CA を追加することもできます (「Installing the Parasoft Root Certificate Authority」を参照)。
Mac OS へのインストール時、マシンにログインしたときに毎回、自動的に Web Proxy を開始するよう設定できます。
インストールが完了した後も、[System Preferences] > [Users & Groups] > [Login Items] の設定でインストールWeb Proxy の自動開始を有効または無効にできます。
Developer ID Certificate Authority の参照
鍵アイコンをクリックすると、Apple developer ID certificate authority (CA) を参照できます。証明書は、Apple デバイス用のソフトウェアの信頼された供給元として Parasoft を証明します。
インストール完了後、Chrome を起動すると、拡張機能を有効化するよう求められます。
[Chrome から削除] をクリックしないでください。
このアクションは、拡張機能をアンインストールしてブラックリストに追加します。結果として、拡張機能を自動的にインストールまたはアップデートできなくなります。自動インストールされた拡張機能を復元するには、Chrome をアンインストールして再インストールする必要があります。
インストーラーは、インストール完了時に Parasoft SOAtest Web Proxy を開始するかどうか確認します。プロキシを開始せずにインストールを終了することを選択した場合、必要なときにプロキシを開始する方法 (「Starting the Web Proxy」) を参照してください。プロキシが実行中の場合、次のステップは「Using the Browser Extension」を参照してください。拡張機能を使用する前に SOAtest サーバーが実行されている必要があります。
ブラウザー拡張機能およびプロキシのアンインストール
ツールを完全にアンインストールするには、Windows のコントロール パネルで通常の Windows プログラムのアンインストーラーを使用します。Mac OS 版のインストーラーには、Uninstall Parasoft Recorder Generator ユーティリティが付属しています。ツールを完全にアンインストールするには、このユーティリティを実行します。Mac OS のユーティリティは、Applications/Parasoft フォルダーにあります。
手動でのインストール
次の手順では、インストーラーを使用できない場合に Parasoft Recorder コンポーネントを手動でインストールする方法について説明します。手動のインストールでは Java が含まれないことに注意してください。 デバイスに Java がインストールされていない場合は、Parasoft Recorder を使用する前に Java をインストールする必要があります。
- TrafficRecordingExtension.zip をダウンロードします (Parasoft 製品窓口にお問い合わせください)。
- 圧縮フォルダーのコンテンツをマシンの任意の場所に展開します。Parasoft SOAtest Web Proxy を実行するのに、その他のものをインストールする必要はありません。
- Chrome ブラウザー ウィンドウを開き、拡張機能ページ (chrome://extensions) を開きます。
- [デベロッパー モード] オプションをオンにし、[パッケージ化されていない拡張機能を読み込む] をクリックします。
<TRAFFIC-RECORDING-EXTENSION-INSTALL-DIR>/chrome-extension
ディレクトリを参照し、選択して拡張機能をインストールします。ツールがブラウザー バーに表示されます。
API トラフィックを記録するには、Parasoft SOAtest Web Proxy および SOAtest サーバーが実行されている必要があります (「Starting the Web Proxy」を参照)。SOAtest サーバーが実行されており、デフォルトの設定を使用してプロキシが開始されている場合、拡張機能を使用してトラフィックを記録できます。トラフィックを記録する対象の Web アプリケーションが起動している場合、「Parasoft Recorder の使用方法」を参照してください。ブラウザー拡張機能をインストールした後に、Parasoft SOAtest Web Proxy および SOAtest サーバーへの接続も設定する必要があります。
Parasoft Root Certificate Authority のインストール
HTTPS トラフィックを記録するには、Parasoft Root Certificate Authority を信頼された証明書としてインストールする必要があります。証明書認証局がインストールされていない場合、ブラウザーは接続がセキュアであるとみなさないため、接続を拒否する場合があります。
Windows
通常、Parasoft Root Certificate Authority は SOAtest Windows インストーラーまたは Parasoft Recorder インストーラーによって自動的にインストールされます。必要であれば、-installcertificate
オプションを指定して soatestcli
を実行することで、手動で証明書をインストールすることもできます。例:
soatestcli -installcertificate
ローカル マシンに SOAtest がインストールされていない場合、Chrome に手動で証明書を追加できます。
- Chrome の設定ページを開き (chrome://settings)、[詳細設定] セクションを展開します。
- [プライバシーとセキュリティ] セクションの [証明書の管理] をクリックします。
- [証明書] ダイアログの [信頼されたルート証明機関] をクリックします。
- [インポート] をクリックし、証明書のインポート ウィザードが開いたら [次へ] をクリックします。
- Traffic Recording Extension のインストール ディレクトリにある parasoft.cer ファイルを参照し、[次へ] をクリックします。
- ウィザードによって証明書が信頼されたルート証明機関フォルダーに配置されたのを確認し、[次へ] をクリックします。
- [Finish] をクリックし、プロンプトが表示されたら Parasoft Root Certificate Authority の追加を承認します。
Mac OS
- Chrome の設定ページを開き (chrome://settings)、[詳細設定] セクションを展開します。
- [プライバシーとセキュリティ] セクションの [証明書の管理] をクリックします。Keychain Access アプリケーションが開きます。
- Keychains の下の [login] を選択し、Category の下の [Certificates] を選択します。
- [File] > [Import items] をクリックし、 Traffic Recording Extension のインストール ディレクトリにある parasoft.cer を選択します。
- Parasoft Root Certificate Authority が表示されたら右クリックし、[Get Info] を選択します。
- [Trust] セクションを展開して [When using this certificate] メニューから [Always Trust] を選択します。
- 設定を保存するよう求められたら、認証情報を入力します。
Android エミュレーター
この手順では、Android Studio/Android Sdk を使用しており、非運用ビルドで Android Virtual Device (AVD) が作成済みであることを前提としています。さらに:
- AVD のプロキシ設定が Parasoft 用に構成されていること。プロキシでエミュレーターを使用する方法の詳細については、https://developer.android.com/studio/run/emulator-networking#proxy を参照してください。
- Android Sdk エミュレーターと adb 実行可能ファイルを $PATH 変数に追加済みであること。
Android の CA 証明書は、ハッシュ名に拡張子.0を付けて保存されるため、Parasoft の証明書をコピーして名前を変更する必要があります。そのためには、コマンドプロンプトを開き、<VIRT_INSTALL_DIR>/plugins/com.parasoft.ptest.libs.web_<version>/root/lib
に移動して、次のコマンドを実行します。
hashed_name=`openssl x509 -inform PEM -subject_hash_old -in parasoft.cer | head -1` && cp parasoft.cer $hashed_name.0
/system/etc/security/cacerts/
にある Android ファイル システムのシステム証明書ストアに、hash.0 版の CA 証明書を配置する必要があります。ただし、/system
パーティションはデフォルトで読み取り専用としてマウントされるため、まず権限を変更して書き込みを許可する必要があります。その方法は、使用しているエミュレーターのバージョンによって異なります。
API Level 29 以降
API Level 29 からは、"/" パーティションを read-write 権限で普通にマウントすることができなくなりました。Google は回避策を提供していますが (詳しくは https://android.googlesource.com/platform/system/core/+/master/fs_mgr/README.overlayfs.md を見てください)、これが原因でエミュレーターが起動ループに陥いるケースも見られます。その場合は、以下で説明する回避策を試すことができます。
証明書を使用するには、-writable-system
オプションを使用してエミュレーターを起動する必要があります。そうしないと、Android は「クリーンな」システム イメージをロードします。
AVD を開始します:
emulator -avd <AVD_NAME> -writable-system
- AVD の名前がわからない場合は、
emulator -list-avds
を実行して、すべての AVD のリストを取得します。
- AVD の名前がわからない場合は、
root として adb を再起動します:
adb root
セキュア ブート検証を無効にします:
adb shell avbctl disable-verification
デバイスを再起動し、root として adb を再起動します:
adb reboot adb root
パーティションを read-write として再マウントします:
adb remount
adb から再起動が必要と示された場合は、
adb reboot
とadb remount
を再度実行します。
hash.0 版の証明書をプッシュします:
adb push <PATH_TO_CERT> /system/etc/security/cacerts
証明書のアクセス権限を設定します:
adb shell chmod 664 /system/etc/security/cacerts/<NAME_OF_HASH.0_CERT>
デバイスを再起動します:
adb reboot
API Level 28 以下
証明書を使用するには、-writable-system
オプションを使用してエミュレーターを起動する必要があります。そうしないと、Android は「クリーンな」システム イメージをロードします。
AVD を開始します:
emulator -avd <AVD_NAME> -writable-system
- AVD の名前がわからない場合は、
emulator -list-avds
を実行して、すべての AVD のリストを取得します。
- AVD の名前がわからない場合は、
root として adb を再起動します:
adb root
パーティションを read-write として再マウントします:
adb remount
adb から再起動が必要と示された場合は、
adb reboot
とadb remount
を再度実行します。
hash.0 版の証明書をプッシュします:
adb push <PATH_TO_CERT> /system/etc/security/cacerts
証明書のアクセス権限を設定します:
adb shell chmod 664 /system/etc/security/cacerts/<NAME_OF_HASH.0_CERT>
デバイスを再起動します:
adb reboot
iOS エミュレーター
- ファイル サーバーで parasoft.cer ファイルをホストするか、iOS エミュレーターが受信できるアドレスに parasoft.cer ファイルを電子メールで送信します。parasoft.cer ファイルは
<VIRT_INSTALL_DIR>/plugins/com.parasoft.ptest.libs.web_<version>/root/lib.
にあります。 - ブラウザーを開いて parasoft.cer ファイルの URL にアクセスするか、電子メールを開いてダイアログの指示に従い、構成プロファイルを受け入れます。
- [設定] > [全般] > [デバイス管理] に移動し、[Parasoft Root Certificate Authority] をオンにします。デフォルト設定のままインストール ダイアログをクリックしていきます。
最近の iOS バージョンでは、Parasoftルート証明書を完全に信頼できるようにする必要があります。次の操作を行います。
- [設定] > [全般] > [バージョン情報] > [Certificate Trust Settings] に移動します。
- [Enable full trust for root certificates] で、Parasoft 証明書の信頼を有効にします。
Web Proxy の開始
Parasoft Web Proxy を Windows サービスとしてインストールした場合、SOAtest Web Proxy コンソールを使用してプロキシを開始および停止できます。
- Winodws スタート メニューから [SOAtest Web Proxy] を選択するか、デスクトップ アイコンをダブルクリックします (インストール時にデスクトップにアイコンを配置することを選択した場合)。
- [全般] タブの [開始] をクリックします。
デフォルトでは、Web Proxy API はポート 40090
で開始されます。API トラフィックの記録に使用されるプロキシ ポートは、ポート 40443
から空きポートをスキャンして割り当てられます。Web Proxy コンソールでプロキシを開始するとき、ポート番号やその他のオプションを指定できます。詳細については「Parasoft Recorder の詳細設定」を参照してください。
プロキシをシャットダウンするには、コンソールを開いて [停止] をクリックします。
Mac OS では、Web Proxy は Applications/Parasoft フォルダーにあります。
手動での Web Proxy の開始
Web Proxy は Jar ファイルであり、次の java
コマンドを使用して実行できます。
%INSTALLDIR%/jre/bin/java -jar com.parasoft.traffic.proxy.jar
Java のサポート
Windows または Mac 用の Parasoft Recorder インストーラーには Java のインスタンスが含まれていますが、Parasoft Recorder の zip ファイルには含まれていません。zip ファイルを使用して Parasoft Recorder を手動でインストールする場合は、Java を手動でインストールするか、システムに既にインストールされているインスタンスを使用する必要があります。Java 11 以降がサポートされています。
デフォルトでは、Web Proxy API はポート 40090
で開始されます。記録に使用されるプロキシ ポートは、ポート 40443
から空きポートをスキャンして割り当てられます。プロキシ開始時にシステム プロパティを設定してポート番号やその他のオプションを指定できます。詳細については「Parasoft Recorder の詳細設定」を参照してください。
Web Proxy のバージョンの確認
バージョン番号をコマンドラインに出力するには、--version
引数 (-v
) を付けて Jar ファイルを実行します。例:
%INSTALLDIR%/jre/bin/java -jar com.parasoft.traffic.proxy.jar --version
バージョン番号は、Parasoft Recorder の問題をトラブルシュートする際に役立つことがあります。
この引数を付けて Jar を実行すると、プロキシはバージョンをレポートするだけで、プロキシは開始されません。
詳細については「Parasoft Recorder の詳細設定」を参照してください。
ブラウザー拡張機能の設定
- Parasoft アイコンを右クリックして [オプション] を選択すると、オプション設定が開きます。chrome://extensions ホームページで [オプション] リンクをクリックしてオプションを設定を表示することもできます。
- プロキシ API のポート (「Parasoft Recorder の詳細設定」を参照) および SOAtest サーバーの接続設定を指定します。
HTTPS 経由で SOAtest と通信するには、[セキュア (HTTPS)] オプションを有効にします。 - [接続のテスト] をクリックして設定を検証し、接続が成功したら [保存] をクリックします。