SoapUI JDBC SoapUI 模拟服务 SoapUI Groovy 脚本 SoapUI JDBC SoapUI 引入了一个用于从数据库中检索数据或记录的新概念,称为 JDBC。它以XML格式提供结果,可以像XPath、XQuery等标准方式断言或处理结果。在 SoapUI JDBC 中,我们将学习如何创建 JDBC 连接、JDBC 属性和 JDBC 断言。 为了在SoapUI 中创建JDBC连接,我们必须遵循以下步骤。 Step 1:选中项目,在选中的测试用例的Test Steps上右键,Add Step -> JDBC Request,如下图。 Step 2:选择JDBC Request后,弹出对话框指定新步骤的名称,如下图。 步骤3:由于OK按钮被点击时,它显示的JDBC请求窗口创建JDBC连接,如下所示。 为了创建JDBC连接,我们必须提供 JDBC 配置的必要和有效信息,例如驱动程序名称和连接字符串。有效信息用于标识数据库的名称并创建连接以使用定义的数据库。 第四步:如果我们要连接MySQL数据库,我们需要将驱动定义为com.mysql.jdbc.Driver。同样,我们可以为另一个数据库定义驱动程序,在 SoapUI 的文档部分中提到。 第 5 步:要在JDBC 中设置连接字符串的格式,请使用下面给出的语句。 jdbc:mysql://hostname:port_name/database_Name?[Property]=[value] 其中属性是用户名,值是与它们各自的参数值相关的密码,以连接数据库。 例如, jdbc:mysql://localhost:3306/SoapUIDB?user=root&password= 这里我们将密码字段留空,因为我们没有在phpMyAdmin 中保存任何密码。如果您在 phpMyAdmin 中设置了密码,请指定它。 注意:在为 SoapUI 工具创建 JDBC 连接之前,我们必须在 phpMyAdmin 中定义或创建数据库名称。 步骤 6:指定 JDBC 的配置细节后,单击测试连接的运行图标(绿色三角形)以验证连接。如果JDBC连接成功,则显示成功对话框;否则,它会显示失败的连接详细信息。 Step 7:当我们点击Run按钮时,会弹出一个对话框,成功测试JDBC连接,如下图。 JDBC 查询的执行 为 JDBC 创建数据库后,我们需要定义 JDBC 属性。JDBC 属性具有将参数名称添加到属性列表的属性,该属性列表可用作变量以使用SQL查询从数据库中查找定义的项目。 例如,我们需要获取特定国家的名称及其属性,将 SQL 查询设置为Select * from Table_Name where Table_Name.name = :name。当查询在 SoapUI JDBC 中执行时,它会从 JDBC 数据库返回一个特定国家的名称及其属性。 我们已经创建了名为country的数据库表并执行以下查询以将数据插入表中。我们稍后使用 JDBC SQL 查询检索的数据。 INSERT INTO country VALUES ('Afghanistan', 'Asia', 'Kabul', '93'); INSERT INTO country VALUES ('Åland Islands', 'Europe', 'Mariehamn', '358'); INSERT INTO country VALUES ('Albania', 'Europe', 'Tirana', '355'); INSERT INTO country VALUES ('Algeria', 'Africa', 'Algiers', '213'); INSERT INTO country VALUES ('American Samoa', 'Oceania', 'Pago Pago', '1684'); INSERT INTO country VALUES ('Argentina', 'Americas', 'Buenos Aires', '54'); INSERT INTO country VALUES ('Armenia', 'Asia', 'Yerevan', '374'); INSERT INTO country VALUES ('Australia', 'Oceania', 'Canberra', '61'); SQL 查询在 JDBC 中用于从数据库表中搜索特定项目或项目集合。让我们创建 JDBC 请求以接受来自数据库表的国家记录。 步骤 1:将 SQL 查询编写为select * from country以从定义的表中选择所有国家/地区的名称及其附加属性。 第二步:之后,点击左上角的运行按钮,执行JDBC的SQL查询,如下图。 执行 SQL Query 后,它会在屏幕上产生上述输出。上面的输出包含从数据库的国家表中提取的国家名称、地区、首都和呼叫代码。 这里,JDBC SQL 查询的结果: Results> <ResultSet fetchSize="0"> <Row rowNumber="1"> <COUNTRY.NAME> Afghanistan </COUNTRY.NAME> <COUNTRY.REGION> Asia </COUNTRY.REGION> <COUNTRY.CAPITAL> Kabul </COUNTRY.CAPITAL> <COUNTRY.CALLINGCODES> 93 </COUNTRY.CALLINGCODES> </Row> <Row rowNumber="2"> <COUNTRY.NAME> ?land Island s</COUNTRY.NAME> <COUNTRY.REGION> Europe </COUNTRY.REGION> <COUNTRY.CAPITAL> Mariehamn </COUNTRY.CAPITAL> <COUNTRY.CALLINGCODES> 358 </COUNTRY.CALLINGCODES> </Row> <Row rowNumber="3"> <COUNTRY.NAME> Albania </COUNTRY.NAME> <COUNTRY.REGION> Europe </COUNTRY.REGION> <COUNTRY.CAPITAL> Tirana </COUNTRY.CAPITAL> <COUNTRY.CALLINGCODES> 355 </COUNTRY.CALLINGCODES> </Row> <Row rowNumber="4"> <COUNTRY.NAME> Algeria </COUNTRY.NAME> <COUNTRY.REGION> Africa </COUNTRY.REGION> <COUNTRY.CAPITAL> Algiers </COUNTRY.CAPITAL> <COUNTRY.CALLINGCODES> 213 </COUNTRY.CALLINGCODES> </Row> <Row rowNumber="5"> <COUNTRY.NAME> American Samoa </COUNTRY.NAME> <COUNTRY.REGION> Oceania </COUNTRY.REGION> <COUNTRY.CAPITAL> Pago Pago </COUNTRY.CAPITAL> <COUNTRY.CALLINGCODES> 1684 </COUNTRY.CALLINGCODES> </Row> <Row rowNumber="6"> <COUNTRY.NAME> Argentina </COUNTRY.NAME> <COUNTRY.REGION> America s</COUNTRY.REGION> <COUNTRY.CAPITAL> Buenos Aire s</COUNTRY.CAPITAL> <COUNTRY.CALLINGCODES> 54 </COUNTRY.CALLINGCODES> </Row> <Row rowNumber="7"> <COUNTRY.NAME> Armenia </COUNTRY.NAME> <COUNTRY.REGION> Asia </COUNTRY.REGION> <COUNTRY.CAPITAL> Yerevan </COUNTRY.CAPITAL> <COUNTRY.CALLINGCODES> 374 </COUNTRY.CALLINGCODES> </Row> <Row rowNumber="8"> <COUNTRY.NAME> Australia </COUNTRY.NAME> <COUNTRY.REGION> Oceania </COUNTRY.REGION> <COUNTRY.CAPITAL> Canberra </COUNTRY.CAPITAL> <COUNTRY.CALLINGCODES> 61 </COUNTRY.CALLINGCODES> </Row> </ResultSet> </Results> 选择或获取数据的 JDBC SQL 查询 按照下面给出的步骤使用 JDBC SQL 查询选择和获取数据。 步骤 1:要添加 JDBC 属性,请单击 (+) 按钮,然后传递参数的名称和值。然后提及 SQL Query 以选择国家/地区名称,如下图所示。 在这里,我们将属性名称作为name传递,将属性值作为Australia传递。之后,将 SQL 查询写为'select * form country where country.name = :name' 第二步:点击运行按钮,执行JDBC的SQL查询,如下图。 这里,JDBC SQL 查询的结果: <Results> <ResultSet fetchSize="0"> <Row rowNumber="1"> <COUNTRY.NAME> Australia </COUNTRY.NAME> <COUNTRY.REGION> Oceania </COUNTRY.REGION> <COUNTRY.CAPITAL> Canberra </COUNTRY.CAPITAL> <COUNTRY.CALLINGCODES> 61 </COUNTRY.CALLINGCODES> </Row> </ResultSet> </Results> JDBC 断言 JDBC 断言用于验证使用来自数据库表的 JDBC 请求接收的数据。 要在 SoapUI 中使用 JDBC 断言,我们必须遵循以下步骤。 步骤1:点击(+)按钮添加JDBC请求TestStep的断言,如下图。 Step 2:点击Add Assertion按钮后,会显示Add Assertion 窗口来选择断言,如图所示。 第 3 步:单击“添加”按钮后,它将在 SoapUI 中正确执行 JDBC SQL 查询,如给定图像所示。 如果 JDBC 状态断言为真,则断言有效;否则,它会显示错误消息。类似地,我们可以在 SoapUI 中使用不同类型的断言来验证 JDBC 请求 TestStep。 SoapUI 模拟服务 SoapUI Groovy 脚本