章节目录:

概要

Parasoft 录制器是一个附加组件,可在与 web 应用程序交互过程中录制 API 调用和/或用户操作。您可以将 API 通讯报文转换为可扩展的 API 测试,这些测试可通过 CTP 或 SOAtest 桌面端执行。录制的用户操作可通过 Parasoft Selenic 下载并转换为 Selenium 测试。Parasoft 录制器包含以下组件:

  • Parasoft 录制器 Chrome 扩展程序:Chrome 浏览器扩展程序安装在本地计算机上,提供一个启动和停止 web 录制的接口。该扩展程序还提供一个接口,用于配置与 SOAtest 的连接,以便 SOAtest Web 代理能将 API 通讯报文转换为测试。 
  • SOAtest Web 代理: 该代理安装在本地机器上,用来处理通讯报文以及在 SOAtest 中创建 .tst 文件。
  • Parasoft 根证书颁发机构:CA 允许录制 HTTPS 通讯报文。

系统要求

本章对 Parasoft 录制器组件以及相关功能要求进行了说明。 

浏览器扩展程序

  • Google Chrome 最新版
  • 录制 API 通讯报文,还必须运行 SOAtest Web 代理。

SOAtest Web 代理

  • 端口 40090 必须可用于 web 代理。 

生成 API 测试 

  • SOAtest 桌面端或服务器端 2022.1 及以上版本

创建和管理 Selenium 测试

许可

可以免费下载和安装 Parasoft 录制器,但若要使用 SOAtest 中的 API 测试生成功能或 Parasoft Selenic 中 Selenium 测试生成和管理功能,则要求有一个有效的许可证。有关许可证信息,请联系 Parasoft 技术支持。 

API 测试许可证

录制通讯报文和生成测试需要一个高级的测试生成许可证。可使用以下许可证选项:

  • 高级测试生成桌面:能够在安装了 SOAtest 的同一台计算机上通过 web 代理创建资产。不允许从远程机器连接。 
  • 高级测试生成 5 个用户:最多有 5 个用户可以从任何可以连接到 SOAtest 服务器的机器上创建资产。  
  • 高级测试生成 25 个用户:最多有 25 个用户可以从任何可以连接到 SOAtest 服务器的机器上创建资产。 
  • 高级测试生成 100 个用户:最多有 100 个用户可以从任何可以连接到 SOAtest 服务器的机器上创建资产。 

Selenium 测试许可证

关于许可证的详情,请参阅 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 代理的自动启动。

查看开发人员 ID 证书颁发机构

您可以点击挂锁图标查看 Apple 开发人员 ID 证书颁发机构(CA)。证书识别 Parasoft 为 Apple services 受信任的软件源。

安装程序完成后,在启动 Chrome 时,将提示您启动扩展。 

不要点击 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。

  1. 下载 TrafficRecordingExtension.zip 文件夹(联系您的 Parasoft 代表)。
  2. 将压缩文件夹解压到计算机上的任何位置。运行 Parasoft SOAtest Web 代理不需要其他安装。
  3. 打开 Chrome 浏览器窗口并打开扩展页面(chrome://extensions)。
  4. 启用 Developer mode 选项并点击 Load unpacked extension
  5. 找到 <TRAFFIC-RECORDING-EXTENSION-INSTALL-DIR>/chrome-extension 目录并选择安装扩展。该工具将可在浏览器栏中使用。

录制 API 通讯报文之前,必须运行 Parasoft SOAtest Web 代理和 SOAtest 服务器(请参阅Starting the Web Proxy)。如果正在运行 SOAtest 服务器,并且使用默认配置启动代理,则可以开始使用扩展来录制通讯报文。如果这些组件正在运行,请参阅 Parasoft 录制器使用方法。安装浏览器扩展后,还需要配置到 Parasoft SOAtest Web 代理和 SOAtest 服务器的连接。 

安装 Parasoft 根证书

Parasoft 根证书颁发机构必须安装为受信任的证书,以启用 HTTPS 通讯报文录制。如果没有安装证书颁发机构,浏览器将不认为连接是安全的,并可能拒绝连接。

Windows

通常通过 SOAtest Windows 安装程序和 Parasoft 录制器安装程序自动安装 Parasoft 根证书颁发机构。如有必要,还可以使用 -installcertificate 选项运行 soatestcli 进行手动安装。例如:

soatestcli -installcertificate

如果本地机器上没有安装 SOAtest,那您可以手动将证书添加到 Chrome 上:

  1. 打开 Chrome 设置页面 (chrome://settings) 并展开高级部分。
  2. 点击隐私安全部分中的 Manage certificates。 
  3. 点击证书对话框中的 Trusted Root Certification Authorities 标签。  
  4. 点击 Import,然后在 Certificate Import Wizard 打开时点击 Next。 
  5. 找到 Traffic Recording Extension 安装目录中的 parasoft.cer 文件,然后点击 Next
  6. 验证向导是否将证书放在受信任的根证书颁发机构文件夹中,然后点击 Next
  7. 点击 Finish,如果出现提示,请确认添加 Parasoft 根证书颁发机构。

Mac OS 

  1. 打开 Chrome 设置页面 (chrome://settings) 并展开高级部分。
  2. 点击隐私安全部分中的 Manage certificates。密钥链访问应用程序将打开。 
  3. 选择密钥链下的 login,并选择 Category 下的 Certificates
  4. 前往 File> Import items 并找到 Eclipse 目录中的 parasoft.cer
  5. 右键点击出现的 Parasoft 根证书颁发机构,并选择 Get Info
  6. 展开 Trust 部分并从 When using this certificate 菜单中选择 Always Trust
  7. 提示保存配置时,输入您的凭据。

Android 仿真器

该步骤假定您使用的是 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 或更高

从 API Level 29 开始,“/”分区无法正常挂载读写权限。Google 提供了一种解决方法(更多信息请参阅 https://android.googlesource.com/platform/system/core/+/master/fs_mgr/README.overlayfs.md),但部分用户发现这会导致仿真器陷入启动循环。如果是这种情况,您可以尝试下面详细说明的解决方法:

要使用证书,必须使用 -writable-system 选项启动仿真器,否则 Android 会加载一个“干净”的系统镜像。

  1. 启动 AVD:

    emulator -avd <AVD_NAME> -writable-system
    • 如果不确定 AVD 的名称,可运行 emulator -list-avds 命令查看所有 AVD 的列表。
  2. 以 root 权限重启 adb:

    adb root
  3. 禁用安全启动验证: 

    adb shell avbctl disable-verification
  4. 重启设备并以 root 权限重启 adb: 

    adb reboot
    adb root
  5. 以读写方式重新挂载分区: 

    adb remount
    • 如果 adb 显示需要重启,请再次运行 adb rebootadb remount

  6. 推送证书的 hash.0 版本: 

    adb push <PATH_TO_CERT> /system/etc/security/cacerts
  7. 设置证书权限: 

    adb shell chmod 664 /system/etc/security/cacerts/<NAME_OF_HASH.0_CERT>
  8. 再次重启设备: 

    adb reboot
API Level 28 或更低

要使用证书,必须使用 -writable-system 选项启动仿真器,否则 Android 会加载一个“干净”的系统镜像。

  1. 启动 AVD:

    emulator -avd <AVD_NAME> -writable-system
    • 如果不确定 AVD 的名称,可运行 emulator -list-avds 命令查看所有 AVD 的列表。
  2. 以 root 权限重启 adb:

    adb root
  3. 以读写方式重新挂载分区: 

    adb remount
    • 如果 adb 显示需要重启,请再次运行 adb rebootadb remount

  4. 推送证书的 hash.0 版本: 

    adb push <PATH_TO_CERT> /system/etc/security/cacerts
  5. 设置证书权限: 

    adb shell chmod 664 /system/etc/security/cacerts/<NAME_OF_HASH.0_CERT>
  6. 再次重启设备: 

    adb reboot

iOS 仿真器

  1. 将 parasoft.cer 文件托管到文件服务器上,或通过电子邮件将 parasoft.cer 文件发送到 iOS 仿真器可以接收的地址。您可以在 <VIRT_INSTALL_DIR>/plugins/com.parasoft.ptest.libs.web_<version>/root/lib 中找到 parasoft.cer 文件。
  2. 打开浏览器,进入 parasoft.cer 文件的 URL 或打开电子邮件,按照对话框提示接受配置文件。
  3. 前往 Settings > General > Device Management,然后启用 Parasoft Root Certificate Authority。点击安装程序对话框,保留默认设置。

在最近的 iOS 版本中,还需要启用对 parasoft 根证书的完全信任。操作步骤:

  1. 前往 Settings > General > About > Certificate Trust Settings
  2. 在“Enable full trust for root certificates”下,启用对 parasoft 证书的信任。

启动 Web 代理

如果将 Parasoft Web 代理安装为 Windows 服务,则可以使用 SOAtest Web 代理控件启动和停止代理。 

  1. 从 Windows 开始菜单中选择 SOAtest Web Proxy 或双击桌面图标(如果安装期间选择这个选项)。
  2. 点击 General 选项卡中的 Start

默认情况下,将在端口 40090 上启动 web 代理 API。用来录制 API 通讯报文的代理端口将通过扫描从端口 40443开始的打开端口来分配。在 web 代理控制台中启动代理时,可以配置端口号和其他选项。更多信息,请参阅 Parasoft 录制器高级配置

打开控制台并点击 Stop 停止代理。  

在 Mac OS 上,web 代理将位于您的 Applications/Parasoft 文件夹中。

手动启动 Web 代理 

Web 代理是一个 JAR 文件,您可以使用 java 命令来运行:

%INSTALLDIR%/jre/bin/java -jar com.parasoft.traffic.proxy.jar

Java 支持

Windows 或 Mac 版 Parasoft 录制器安装程序包含 Java 实例,而 Parasoft 录制器压缩文件不包含 Java 实例。如果使用压缩文件手动安装 Parasoft 录制器,则需要手动安装 Java 或使用系统中已安装的实例。支持 Java 11 或更高版本。

默认情况下,将在端口 40090 上启动 web 代理 API。用来录制的代理端口将通过扫描从 40443 端口开始的开放端口来分配。在启用代理时,可以指定系统属性来配置端口号和其它选项。更多信息,请参阅 Parasoft 录制器高级配置

检查 Web 代理版本

使用 --version 参数(-v)执行 JAR 文件,以在命令行打印版本号。示例:

%INSTALLDIR%/jre/bin/java -jar com.parasoft.traffic.proxy.jar --version

如果要使用 Parasoft 录制器对问题进行故障排除,版本号将非常有用。

使用此参数执行 JAR 只能让代理报告版本,而不启动代理。 

更多信息,请参阅 Parasoft 录制器高级配置

配置浏览器扩展

  1. 右键点击 Parasoft 图标并选择 Options 以打开配置设置。您还可以通过点击 chrome://extensions 主页上的 Options 链接访问配置设置。
  2. 指定代理 API 端口(请参阅 Parasoft 录制器高级配置 和 SOAtest 服务器连接设置。

    启用 Secure (HTTPS) 选项通过 HTTPS 进行与 SOAtest 的通信。 
  3. 点击 Test Connection 以验证设置,如果成功,点击 Save。 
  • No labels