章节目录:
Parasoft 录制器是一个附加组件,可在与 web 应用程序交互过程中录制 API 调用和/或用户操作。您可以将 API 通讯报文转换为可扩展的 API 测试,这些测试可通过 CTP 或 SOAtest 桌面端执行。录制的用户操作可通过 Parasoft Selenic 下载并转换为 Selenium 测试。Parasoft 录制器包含以下组件:
本章对 Parasoft 录制器组件以及相关功能要求进行了说明。
可以免费下载和安装 Parasoft 录制器,但若要使用 SOAtest 中的 API 测试生成功能或 Parasoft Selenic 中 Selenium 测试生成和管理功能,则要求有一个有效的许可证。有关许可证信息,请联系 Parasoft 技术支持。
录制通讯报文和生成测试需要一个高级的测试生成许可证。可使用以下许可证选项:
关于许可证的详情,请参阅 Parasoft Selenic 文档Licensing。
运行 Windows 上用于安装的 parasoft_recorder_<version>_win32.exe 文件,或 Mac OS 上用于安装的 parasoft_recorder_<version>_macos.dmg。如果 Mac OS 因为安全原因无法运行 .dmg,则右键点击文件并选择打开方式 > Installer。
按照 OS 系统的安装向导完成安装。如果您在使用安装程序时遇到了问题,请参阅Manual Installation。
在 Windows 安装期间,将提示您将 Parasoft SOAtest Web 代理安装为 Windows 服务。这使您能够使用 Windows 控制面板下的 services 控件启用和停止代理,以及使用 Windows 启动菜单中的 SOAtest Web 代理控件(请参阅Starting the Web Proxy)。还可以通过运行可执行 .jar 文件手动启动代理(请参阅Manually Starting the Web Proxy)。
Windows 和 Mac 安装程序也将提示您从 Google Chrome 商店(窗口显示)中安装 Parasoft 录制器。如果禁止访问 Google Chrome 商店或在使用安装程序时遇到问题,请参阅Manual Installation。
如果安装程序没有检测到 Parasoft 根证书颁发机构,它将提示您对其进行安装。要求 CA 记录 HTTPS 上的通讯报文。CA 通常与 SOAtest/Virtualize 桌面应用程序一起安装。您还可以手动添加 CA(请参阅Installing the Parasoft Root Certificate Authority)。
在 Mac OS 上安装期间,您可以在登录计算机时启用 web 代理自动启动。
通过 System Preferences> Users & Groups> Login Items 设置您可以在安装后启用或禁用 web 代理的自动启动。
您可以点击挂锁图标查看 Apple 开发人员 ID 证书颁发机构(CA)。证书识别 Parasoft 为 Apple services 受信任的软件源。 |
安装程序完成后,在启动 Chrome 时,将提示您启动扩展。
此操作将卸载扩展,并将其放入黑名单中。因此,您将无法自动安装或更新扩展。为了修复该扩展的自动安装,您将需要卸载并重装 Chrome。 |
在安装完成时,安装程序将提示您启动 Parasoft SOAtest Web 代理。如果您选择在不需启动代理的情况下完成安装,请参阅Starting the Web Proxy了解有关按需启动代理的说明。如果代理正在运行,请参阅Using the Browser Extension了解后续操作。在使用扩展之前,必须运行 SOAtest 服务器。
使用控制面板中常规的 Windows 卸载程序来完成卸载该工具。Mac OS 安装程序附带一个 Uninstall Parasoft Recorder Generator 实用程序,如果您希望完全卸载该工具,可以运行该实用程序。Mac OS 实用程序将位于您的 Applications/Parasoft 文件夹中。
以下说明描述了如果不能使用安装程序,如何手动安装 Parasoft 录制器组件。请注意,手动安装步骤不包括 Java;如果设备上未安装 Java,则需要在使用 Parasoft 录制器前安装 Java。
<TRAFFIC-RECORDING-EXTENSION-INSTALL-DIR>/chrome-extension
目录并选择安装扩展。该工具将可在浏览器栏中使用。录制 API 通讯报文之前,必须运行 Parasoft SOAtest Web 代理和 SOAtest 服务器(请参阅Starting the Web Proxy)。如果正在运行 SOAtest 服务器,并且使用默认配置启动代理,则可以开始使用扩展来录制通讯报文。如果这些组件正在运行,请参阅 Parasoft 录制器使用方法。安装浏览器扩展后,还需要配置到 Parasoft SOAtest Web 代理和 SOAtest 服务器的连接。
Parasoft 根证书颁发机构必须安装为受信任的证书,以启用 HTTPS 通讯报文录制。如果没有安装证书颁发机构,浏览器将不认为连接是安全的,并可能拒绝连接。
通常通过 SOAtest Windows 安装程序和 Parasoft 录制器安装程序自动安装 Parasoft 根证书颁发机构。如有必要,还可以使用 -installcertificate
选项运行 soatestcli
进行手动安装。例如:
soatestcli -installcertificate
如果本地机器上没有安装 SOAtest,那您可以手动将证书添加到 Chrome 上:
该步骤假定您使用的是 Android Studio/Android Sdk,并且已在非生产构建上创建了 Android 虚拟设备(AVD)。此外:
由于 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 |
您需要将 CA 证书的 hash.0 版本放入 Android 文件系统中的系统证书库中,该库位于 /system/etc/security/cacerts/
。/system
分区默认以只读方式挂载,因此需要修改权限以允许写入访问。具体方式取决于您使用的仿真器版本。
从 API Level 29 开始,“/”分区无法正常挂载读写权限。Google 提供了一种解决方法(更多信息请参阅 https://android.googlesource.com/platform/system/core/+/master/fs_mgr/README.overlayfs.md),但部分用户发现这会导致仿真器陷入启动循环。如果是这种情况,您可以尝试下面详细说明的解决方法:
要使用证书,必须使用 |
启动 AVD:
emulator -avd <AVD_NAME> -writable-system |
emulator -list-avds
命令查看所有 AVD 的列表。以 root 权限重启 adb:
adb root |
禁用安全启动验证:
adb shell avbctl disable-verification |
重启设备并以 root 权限重启 adb:
adb reboot adb root |
以读写方式重新挂载分区:
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 |
要使用证书,必须使用 |
启动 AVD:
emulator -avd <AVD_NAME> -writable-system |
emulator -list-avds
命令查看所有 AVD 的列表。以 root 权限重启 adb:
adb root |
以读写方式重新挂载分区:
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 |
<VIRT_INSTALL_DIR>/plugins/com.parasoft.ptest.libs.web_<version>/root/lib
中找到 parasoft.cer 文件。在最近的 iOS 版本中,还需要启用对 parasoft 根证书的完全信任。操作步骤:
如果将 Parasoft Web 代理安装为 Windows 服务,则可以使用 SOAtest Web 代理控件启动和停止代理。
默认情况下,将在端口 40090
上启动 web 代理 API。用来录制 API 通讯报文的代理端口将通过扫描从端口 40443
开始的打开端口来分配。在 web 代理控制台中启动代理时,可以配置端口号和其他选项。更多信息,请参阅 Parasoft 录制器高级配置。
打开控制台并点击 Stop 停止代理。
在 Mac OS 上,web 代理将位于您的 Applications/Parasoft 文件夹中。
Web 代理是一个 JAR 文件,您可以使用 java
命令来运行:
%INSTALLDIR%/jre/bin/java -jar com.parasoft.traffic.proxy.jar
Windows 或 Mac 版 Parasoft 录制器安装程序包含 Java 实例,而 Parasoft 录制器压缩文件不包含 Java 实例。如果使用压缩文件手动安装 Parasoft 录制器,则需要手动安装 Java 或使用系统中已安装的实例。支持 Java 11 或更高版本。 |
默认情况下,将在端口 40090
上启动 web 代理 API。用来录制的代理端口将通过扫描从 40443
端口开始的开放端口来分配。在启用代理时,可以指定系统属性来配置端口号和其它选项。更多信息,请参阅 Parasoft 录制器高级配置。
使用 --version
参数(-v
)执行 JAR 文件,以在命令行打印版本号。示例:
%INSTALLDIR%/jre/bin/java -jar com.parasoft.traffic.proxy.jar --version
如果要使用 Parasoft 录制器对问题进行故障排除,版本号将非常有用。
使用此参数执行 JAR 只能让代理报告版本,而不启动代理。
更多信息,请参阅 Parasoft 录制器高级配置。
chrome://extensions
主页上的 Options 链接访问配置设置。