SoapUI JDBC
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。