In this section:
Overview
Parasoft Recorder is an add-on component for recording API calls and/or user actions during interactions with a web application. You can convert the API traffic into extendable API tests that can be executed from CTP or the SOAtest desktop. Recorded user actions can be downloaded and converted into Selenium tests with Parasoft Selenic. Parasoft Recorder includes the following components:
- Parasoft Recorder Chrome extension: The Chrome browser extension is installed on the local machine and provides an interface for starting and stopping a web recording. The extension also provides an interface for configuring your connection to SOAtest so that the SOAtest Web Proxy can convert API traffic into tests.
- SOAtest Web Proxy: The proxy is installed on the local machine, processes traffic, and creates a .tst file in SOAtest.
- Parasoft Root Certificate Authority: The CA enables HTTPS traffic to be recorded.
System Requirements
This section describes the requirements for Parasoft Recorder components and associated functionality.
Browser Extension
- Latest version of Google Chrome
- The SOAtest Web Proxy must also be running to record API traffic.
SOAtest Web Proxy
- Port 40090 must be available to run the web proxy.
Generating API Tests
- SOAtest desktop or server 2022.1 or later
Creating and Managing Selenium Tests
- Refer to the Selenic System Requirements.
Licensing
You can freely download and install Parasoft Recorder, but a valid license is required to use the API test generation features in SOAtest or the Selenium test creation and management features in Parasoft Selenic. Contact your Parasoft representative for complete licensing information.
API Testing License
Advanced Test Generation license feature in SOAtest is required to record traffic and generate tests. The following license options are available:
- Advanced Test Generation Desktop: Enables you to create assets from the web proxy on the same machine where SOAtest is installed. Connections from remote machines are not allowed.
- Advanced Test Generation 5 Users: Up to five users can create assets from any machine that can connect to the SOAtest server.
- Advanced Test Generation 25 Users: Up to 25 users can create assets from any machine that can connect to the SOAtest server.
- Advanced Test Generation 100 Users: Up to 100 users can create assets from any machine that can connect to the SOAtest server.
Selenium Test License
Refer to the Parasoft Selenic documentation for details about licensing.
Installation
Run the parasoft_recorder_<version>_win32.exe file for installation on Windows or the parasoft_recorder_<version>_macos.dmg for installation on Mac OS. If Mac OS can not run the .dmg for security reasons, right-click the file and choose Open With> Installer.
Follow the wizard for your OS to complete the installation. See Manual Installation if you experience issues using the installer.
During Windows installation, you will be prompted to install the Parasoft SOAtest Web Proxy as a Windows service. This enables you to start and stop the proxy using the services console under the Windows Control Panel, as well as use the SOAtest Web Proxy console in the Windows Start menu (see Starting the Web Proxy). You can also manually start the proxy by running the executable .jar file (see Manually Starting the Web Proxy).
The Windows and Mac installer will also prompt you to install Parasoft Recorder from the Google Chrome store (Windows shown). See Manual Installation if access to the Google Chrome store is prohibited or if you experience issues using the installer.
The installer will prompt you to install the Parasoft Root Certificate Authority if it is not detected. The CA is required to record traffic over HTTPS. The CA is normally installed along with the SOAtest/Virtualize desktop application. You can also add the CA manually (see Installing the Parasoft Root Certificate Authority).
During installation on Mac OS, you can enable the web proxy to automatically start whenever you log into the machine.
You can enable or disable automatic start up for the web proxy after installation by in the System Preferences> Users & Groups> Login Items settings.
Viewing the Developer ID Certificate Authority
You can click the padlock icon to view the Apple developer ID certificate authority (CA). The certificate identifies Parasoft as a trusted source of software for Apple devices.
After the installer finishes, you will be prompted to enable the extension when you launch Chrome.
Do not click Remove from Chrome.
This action will uninstall and blacklist the extension. As a result, you will not be able to install or update the extension automatically. You will need to uninstall and reinstall Chrome in order to restore the automatic installation of this extension.
The installer will prompt you to start the Parasoft SOAtest Web Proxy when the installation completes. If you choose to finish the installation without starting the proxy, see Starting the Web Proxy for instructions on starting the proxy on demand. If the proxy is running, see Using the Browser Extension for next steps. The SOAtest server must be running before you can use the extension.
Uninstalling the Browser Extension and Proxy
Use the regular Windows program uninstaller in the control panel to fully uninstall the tool. The Mac OS installer ships with an Uninstall Parasoft Recorder Generator utility that you can run if you wish to completely uninstall the tool. The Mac OS utility will be located in your Applications/Parasoft folder.
Manual Installation
The following instructions describe how to manually install Parasoft Recorder components if you are unable to use the installer. Please note that Java is not included when following the manual installation steps; if Java is not installed on your device, you will need to install it before using Parasoft Recorder.
- Download the TrafficRecordingExtension.zip folder (contact your Parasoft representative).
- Extract the contents of the compressed folder anywhere on your machine. No additional installation is necessary to run the Parasoft SOAtest Web Proxy.
- Open a Chrome browser window and open the Extensions page (chrome://extensions).
- Enable the Developer mode option and click Load unpacked extension.
- Navigate to and choose the [TrafficRecordingExtension_INSTALL]/chrome-extension directory to install the extension. The tool will be available in the browser bar.
The Parasoft SOAtest Web Proxy and SOAtest server must be running before you can record API traffic (see Starting the Web Proxy). If the SOAtest server is running and the default configuration is used to start the proxy, you will be able to start using the extension to record traffic. See Parasoft Recorder Usage if these components are running. You will also need to configure connections to the Parasoft SOAtest Web Proxy and SOAtest server once the browser extension is installed.
Installing the Parasoft Root Certificate Authority
The Parasoft Root Certificate Authority must be installed as a trusted certificate to enable recording of HTTPS traffic. If the certificate authority is not installed, the browser will not consider the connection secure and may refuse to allow the connection.
Windows
The Parasoft Root Certificate Authority is normally installed automatically by both the SOAtest Windows installer and the Parasoft Recorder installer. You can also run soatestcli
with the -installcertificate
option to manually install it if necessary. For example:
soatestcli -installcertificate
If SOAtest is not installed on the local machine, you can manually add the certificate to Chrome:
- Open the Chrome settings page (chrome://settings) and expand the Advanced section.
- Click Manage certificates in the Privacy and security section.
- Click the Trusted Root Certification Authorities tab in the Certificates dialog.
- Click Import to click Next when the Certificate Import Wizard opens.
- Browse to the [TrafficRecordingExtension_INSTALL]/parasoft.cer file and click Next.
- Verify that the wizard will place the certificate in the Trusted Root Certification Authorities folder and click Next.
- Click Finish and confirm that you want to add the Parasoft Root Certificate Authority if prompted.
Mac OS
- Open the Chrome settings page (chrome://settings) and expand the Advanced section.
- Click Manage certificates in the Privacy and security section. The Keychain Access application will open.
- Choose login under Keychains and choose Certificates under Category.
- Choose File> Import items and navigate to parasoft.cer in the [TrafficRecordingExtension_INSTALL] directory.
- Right-click the Parasoft Root Certificate Authority when it appears and choose Get Info.
- Expand the Trust section and choose Always Trust from the When using this certificate drop-down menu.
- Enter your credentials when prompted to save the configuration.
Android Emulator
This procedure assumes that you are using Android Studio/Android Sdk and that you have created an Android Virtual Device (AVD) on a non-production build. Additionally:
- The AVD's proxy settings have been configured for Parasoft. See https://developer.android.com/studio/run/emulator-networking#proxy for more information about using the emulator with a proxy.
- The Android Sdk emulator and adb executables have been added to the $PATH variable.
Because CA certificates in Android are stored by their hashed name with the file extension .0, you will need to copy and rename the Parasoft certificate. To do that, open a command prompt and navigate to <VIRT_INSTALL_DIR>/plugins/com.parasoft.ptest.libs.web_<version>/root/lib
then run the following command:
hashed_name=`openssl x509 -inform PEM -subject_hash_old -in parasoft.cer | head -1` && cp parasoft.cer $hashed_name.0
You need to place the hash.0 version of the CA certificate in the system certificate store in the Android filesystem, found at /system/etc/security/cacerts/
. The /system
partition is mounted as read-only by default, so you need to modify permissions to allow write access. Exactly how you do that depends on what version of the emulator you are using.
API Level 29 or higher
Starting with API Level 29, you can't mount the "/" partition with read-write permissions normally. Google has provided a workaround (see https://android.googlesource.com/platform/system/core/+/master/fs_mgr/README.overlayfs.md for more information), but some users find that this results in their emulator getting stuck in a boot loop. If that's the case, you can try the workaround detailed below:
You have to start the emulator using the -writable-system
option in order to use the certificate, otherwise Android will load a “clean” system image.
Start your AVD:
emulator -avd <AVD_NAME> -writable-system
- If you're not sure of the name of your AVD, run
emulator -list-avds
to pull up a list of all your AVDs.
- If you're not sure of the name of your AVD, run
Restart adb as root:
adb root
Disable secure boot verification:
adb shell avbctl disable-verification
Reboot the device and restart adb as root:
adb reboot adb root
Remount the partitions as read-write:
adb remount
If adb indicates that you need to reboot, run
adb reboot
andadb remount
again.
Push the hash.0 version of the certificate:
adb push <PATH_TO_CERT> /system/etc/security/cacerts
Set certificate permissions:
adb shell chmod 664 /system/etc/security/cacerts/<NAME_OF_HASH.0_CERT>
Reboot the device again:
adb reboot
API Level 28 or less
You have to start the emulator using the -writable-system
option in order to use the certificate, otherwise Android will load a “clean” system image.
Start your AVD:
emulator -avd <AVD_NAME> -writable-system
- If you're not sure of the name of your AVD, run
emulator -list-avds
to pull up a list of all your AVDs.
- If you're not sure of the name of your AVD, run
Restart adb as root:
adb root
Remount the partitions as read-write:
adb remount
If adb indicates that you need to reboot, run
adb reboot
andadb remount
again.
Push the hash.0 version of the certificate:
adb push <PATH_TO_CERT> /system/etc/security/cacerts
Set certificate permissions:
adb shell chmod 664 /system/etc/security/cacerts/<NAME_OF_HASH.0_CERT>
Reboot the device again:
adb reboot
iOS Emulator
- Host the parasoft.cer file on a file server or email the parasoft.cer file to an address the iOS emulator can receive. You will find the parasoft.cer file in
<VIRT_INSTALL_DIR>/plugins/com.parasoft.ptest.libs.web_<version>/root/lib.
- Open a browser to the URL of the parasoft.cer file or open the email and follow the dialog prompts and accept the configuration profile.
- Go to
Settings > General > Device Management
and select "Parasoft Root Certificate Authority." Click through the installation dialogs leaving the default settings in place.
On recent iOS versions, you also need to enable full trust for the parasoft root certificate. To do so:
- Go to
Settings > General > About > Certificate Trust Settings
. - Under “Enable full trust for root certificates”, turn on trust for the parasoft certificate.
Starting the Web Proxy
If you installed the Parasoft Web Proxy as a Windows service, you can use the SOAtest Web Proxy console to start and stop the proxy.
- Choose SOAtest Web Proxy from the Windows Start menu or double-click the desktop icon (if you chose this option during installation).
- Click Start in the General tab.
The web proxy API will be started on port 40090
by default. The proxy port used for recording API traffic will be assigned by scanning for open ports starting with port 40443
. You can configure port numbers and other options when starting the proxy in the web proxy console. See Advanced Parasoft Recorder Configuration for additional information.
Open the console and click Stop to shutdown the proxy.
On Mac OS, the web proxy will be located in your Applications/Parasoft folder.
Manually Starting the Web Proxy
The web proxy is a JAR file that you can run with the java
command:
%INSTALLDIR%/jre/bin/java -jar com.parasoft.traffic.proxy.jar
Java Support
The Parasoft Recorder installer for Windows or Mac includes an instance of Java, while the Parasoft Recorder zip file does not. If you manually install Parasoft Recorder using the zip file, you will need to either manually install Java or use an instance that is already installed on your system. Java 11 or later is supported.
The web proxy API will be started on port 40090
by default. The proxy port used for recording will be assigned by scanning for open ports starting with port 40443
. You can specify system properties to configure port numbers and other options when starting the proxy. See Advanced Parasoft Recorder Configuration for additional information.
Checking the Web Proxy Version
Execute the JAR file with the --version
argument (-v
) to print the version number on the command line. Example:
%INSTALLDIR%/jre/bin/java -jar com.parasoft.traffic.proxy.jar --version
The version number can be helpful if you need to troubleshoot issues with Parasoft Recorder.
Executing the JAR with this argument only enables the proxy to report the version and does not start the proxy.
See Advanced Parasoft Recorder Configuration for additional information.
Configuring the Browser Extension
- Right-click the Parasoft icon and choose Options to open the configuration settings. You can also access the configuration settings by clicking the Options link on the chrome://extensions homepage.
- Specify the proxy API port (See Advanced Parasoft Recorder Configuration) and SOAtest server connection settings.
Enable the Secure (HTTPS) option to communicate with SOAtest over HTTPS. - Click Test Connection to verify your settings and click Save if successful.