本主题介绍如何配置 SQL 响应器工具,该工具虚拟化数据库对各种查询的响应。响应器是 Parasoft Virtualize 中使用的核心工具。
章节目录:
有关创建 SQL 响应器的详情,请参阅从数据库记录创建 SQL 响应器和手动创建 SQL 响应器。
每个 SQL 响应器都处理特定 JDBC URL 的 SQL 查询。当接收到查询时,将根据一组可用的查询模板对其进行匹配。如果找到匹配,则使用相关的结果集作为响应。您可以通过修改 SQL 响应器处理的查询及其交付的结果来定制虚拟数据库行为。
若要修改工具处理的查询,请添加或编辑 SQL 模板。可使用通配符。
若要修改交付的结果,请添加或编辑关联的参数和结果集。
添加和编辑数据的方式取决于创建 SQL 响应器是为了从 CSV 还是从 Parasoft 数据资源库参数化。
若要编辑存储在数据资源库中的数据,请点击 SQL 响应器编辑器中的表格编辑器中打开按钮。
这将打开关联的数据资源库编辑器,您可以在其中查看和编辑/扩展存储值。您还可以通过双击数据资源库视图中相应的 SQL 数据集节点来打开数据资源库编辑器。
数据资源库的初始视图总是在顶层显示三列:
JDBC 连接 URL 和 SQL 模板是关键列(由淡紫色表示)。SQL 参数列中的黄色表示可以向下钻取。
双击 SQL 参数列中的值将打开 SQL 参数表,其中总是包含以下列:
如果有任何参数与记录的查询相关联(WHERE 子句中的值,等等),将添加额外的列,以便查看和编辑相关的参数值。
在 SQL 参数视图中,双击结果集列中的值将打开结果集表,这允许您编辑将在响应中使用的值。
若要查看、编辑和扩展 SQL 模板、结果集和相关参数,请使用数据资源库编辑器功能,该功能在查看和修改资源库结构和内容中进行了说明。
如果希望以 csv 格式编辑结果集数据,则可以导出数据,在 csv 编辑器中操作数据,然后重新导入编辑后的文件。
若要导出 CSV 格式的结果集数据:
若要导出编辑的数据:
编辑或扩展 SQL 数据集时:
注意,来自 SQL 数据集的现有记录不能复用。
查询面板将显示所有记录的 SQL 查询。对于每个 SQL 查询,可能都有参数(WHERE 子句中的值,等等)。若要查看与特定 SQL 查询关联的结果集和参数,请选择该查询。
结果集文件将显示在参数条件表中。
若要编辑 SQL 模板,请使用查询面板中的控件。您可以根据需要添加或删除条目。
若要编辑结果集和参数条件,请首先选择相关查询。然后,关联 CSV 文件的名称将显示在参数条件区域。这些 CSV 文件存储在 VirtualAssets 项目中的 database_recorded_data 文件夹中。若要编辑结果集值,请编辑这些 CSV 文件。
若要编辑参数,请直接在参数条件区域中修改。
若要将该工具配置为使用表达式作为参数匹配条件,您可以使用标准表达式语法,它支持比较字符串和数字,以及使用通配符和正则表达式匹配字符串。这在用于匹配值的条件表达式中进行了描述。
例如,将下面的配置设置为:将 80,000 的实际工资与一个 ResultSet 文件匹配,将 100,000 的实际工资与另一个 ResultSet 文件匹配。
可以使用标准表达式将所有工资(最高为 80,000)匹配到一个 ResultSet 文件,将所有工资(最高为 80,000 到 100,00)匹配到另一个 ResultSet 文件,将所有工资(最高为 100,000)匹配到第三个 ResultSet 文件。或者,您可以在 SQL 模板区域中使用 [*] 为不匹配的 SQL 查询创建一个“catch all”。
可以修改 SQL 响应器,以反映不同的数据库响应时间,例如,反映现实的数据库性能或模拟性能在不同条件下的变化(如数据库和表的大小、在执行查询时使用的表的数量、索引的存在、和服务器负载)。
如果触发 SQL 响应器以使用具有额外响应延迟的结果集,在返回结果集之前,SQL 响应器将暂停额外响应延迟 (ms) 列中指定的时间,外加虚拟资产性能配置文件(在使用性能配置文件中有所描述)中指定的任何额外时间。 在额外响应延迟 (ms) 列中指定的时间是每个查询延迟的时间。例如,如果在这里指定延迟 5000 ms,并且执行了两个查询,那么额外的延迟将是 10,000 ms。
注意,附加的响应延迟适用于所有查询(包括元数据查询)。
如果数据存储在资源库数据源中,则可以通过更改 SQL 数据集中(在 SQL 参数下)的额外响应延迟 (ms) 列值来调整响应时间。
如果数据存储在 CSV 文件中,则可以通过更改参数条件面板中的额外响应延迟 (ms) 列值来调整响应时间。
可以按照以下操作将工具链接到 SQL 响应器的传入请求(SQL 查询)或传出响应(结果集):