在 Web 应用程序的 QA 测试环境中,通常通过在分布式服务器上使用多个浏览器实例来运行数千个浏览器交互自动测试用例。使用 AppScan® Manual Explore Server,您可以记录这些用于安全测试的自动任务所生成的流量。
关于此任务
此过程帮助您使用由用于功能测试的脚本所生成的 HTTP 流量,从而免去为记录 AppScan 脚本而需完成的额外工作。您可以在组织内设置任意所需数量的 Manual Explore Server,然后使用 REST API 来自动记录从测试用例流向测试服务器的数据,并自动将这些数据作为 .htd 文件发送到 AppScan Enterprise 以配置为扫描。在本场景中,您下载 Manual Explorer 工具,并使用命令行界面来设置 Manual Explore Server。
注:
- *.htd 文件的最大文件大小是 20 MB。如果您已超过了此限制,请通过记录更小的序列以将文件拆分为更小的区块。
- 为了方便起见,以下脚本可供您用来自动捕获 HTTP 流量并自动创建可使用所捕获的 HTTP 流量的扫描作业:recordTraffic.zip。(如果文件无法下载,请右键单击链接并将文件保存到硬盘驱动器。)
过程
- 下载 Manual Explorer 工具并设置 Manual Explore Server:
- 在作业的“扫描内容”页面的“手动探索”部分中,单击添加图标()。
- 在“手动探索”页面上,选择使用 Manual Explorer 工具或 AppScan Standard 探索数据文件。
- 下载并安装该工具。
通常安装在 <install-dir>\HCL\AppScan Manual Explorer。
- 在服务器上运行命令行提示,将目录更改为 <install-dir>\HCL\AppScan Manual Explorer,然后输入:manualexploreserver.exe -host <host_name_ip> -recordingsDir <recordings_dir>。
提示: 使用 -help 标志可查看所有可用的命令行选项。
- 在您选择的端口上开始记录会话:
- 在浏览器中的,转到 http://<host_name_ip>:9999/start?port=<recordingPort>。记录端口号是记录的标识。
例如,http://myVM:9999/start?port=1111。“1111”是记录会话的标识。
注: 确保发出控制命令的浏览器未使用 Manual Explorer Server 作为代理;否则,控制命令将添加到记录。
- 将自动化或用于回放的浏览器设置为使用 <host_name_ip>:<recordingPort> 作为代理。
- 运行包含您的 QA 测试用例的自动化。
注: 在自动化过程中,您可以配置步骤 a 和 b。
- 要停止记录会话,请执行以下操作:
- 在自动测试用例完成后,通过在浏览器中输入以下 URL 来停止 Manual Explorer 记录:http://<host_name_ip>:9999/stop?port=<recordingPort>&fileName=<recordingDataFile>. 如果指定 fileName 参数,那么记录期间所收集的数据将以 HTD 格式保存。文件路径为 <recordings_dir>\<recordingDataFile>.htd。如果您不使用文件名,那么记录将在不保存文件的情况下停止。
- 如果您完成了流量数据的捕获,请输入 quit 以结束此过程。
- 在 AppScan Enterprise 中,请确保
- 设置电子邮件通知。确保配置电子邮件的 SMTP 服务器。请参阅配置 Enterprise Console,并确保已将个人电子邮件通知设置为接收警报。请参阅配置用户设置。
- 创建扫描以仅测试“手动探索”模板(在“探索选项”页面上)中的指定 URL。
- 为由自动脚本生成的报告包的“安全问题”报告设置警报。请参阅将警报添加到报告包。
- 从 URL 记下刚创建的作业的 folderID。例如:https://<servername>/ase/FolderExplorer.aspx?fid=8)
- ASECMD 实用程序存储在用于存储 ManualExploreServer 命令行的同一文件夹中。通过此实用程序,可以轻松构建一个使用步骤 4 中所创建模板将记录的流量文件发布到 AppScan Enterprise 的命令。扫描将创建在您在步骤 4 中创建扫描作业的文件夹中。
- 打开命令行提示符并浏览至 AppScan Manual Explorer 工具所在的文件夹。
- 键入此命令以创建扫描: ASECMD -aseUrl https://<ase_server_name>/ase/ -jobTemplateId 1 -htdFile \\qaserver\recordings\rec1.htd
注: 如果不指定用户名和密码,那么命令行实用程序将使用当前用户帐户进行认证。
- 可选: 要查看 ASECMD 实用程序的可用命令行提示,打开命令行提示,并调用 asecmd.exe。窗口中将显示使用情况详细信息。
- 在 AppScan Enterprise Server 的 Enterprise Console 中查看结果。