一、配置JDBC Connection String
1. 以Oracle为例,要使用JDBC数据库就要先下一个 oracle JDBC的驱动,下载成功后把它放到soapUI安装目录下的 bin/ext文件夹下;其他数据库类似
图1、JDBC configuration
其中
Driver:oracle.jdbc.driver.OracleDriver
Connection String:jdbc:oracle:thin:username/[email protected]:1521:ERVICENAME
mysql 配置如下:
Driver:com.mysql.jdbc.Driver ---->这里是mysql的驱动引用方式。
Connection String:jdbc:mysql://localhost:3306/apiauto?user=root&password=admin
连接字符串的组成方式如下:
jdbc:mysql://ip[数据库所在的服务器IP地址]:port[端口号]/database[数据库名称]?user=[这里填写登录数据库用户名]&password=[密码]
二、执行可变参数的SQL语句
参数列表中:设置name。并维护参数value
在SQL中使用的语法:字段前面需要加上冒号(:),详见下图
图二、设置sql参数
三、XPath断言设置
Xpath Match 配置对话框如下所示,该功能支持整段报文比对和节点比对:
对话框分为两个区域:上半部分指定要应用的XPath表达式(Xpath Expression),下半部分设置预期结果(Expected result)
Test: 用于测试比对结果
Allow Wildcards:允许使用通配符
Ignore namespace pre...:忽略前面的命名空间
Ignore XML Comments: 忽略备注
3.1 报文比对
图三、设置Xpath断言
3.2 节点比对
在上面我们选择了“Allow Wildcards”选项,并用‘*‘替换了期望结果值,这将导致SoopUI在断言结果时忽略结果内容值。
3.3 节点比对(带命名空间的xml的报文)
详细返回报文如下所示:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:uploadPolicyInfoResponse xmlns:ns2="http://server.webservice.aip.sinosoft.com/"> <policyResponseDto> <batchNo>0001402018080311161000001batchNo> <errorCode>0000errorCode> <errorDesc>本次共上传数据1笔,其中成功1笔,失败0笔errorDesc> <responseCode>1responseCode> <policyResultInfoList> <confirmSequenceNo>101000140a98c3994686a47f391fe022e794ce65cconfirmSequenceNo> <errorCode>0000errorCode> <errorDesc>成功errorDesc> <policyNumber>1993301140220180001115policyNumber> <responseCode>1responseCode> policyResultInfoList> policyResponseDto> ns2:uploadPolicyInfoResponse> soap:Body> soap:Envelope>
四、注意事项
1. JDBC的驱动包放到指定的目录下之后,soapUI需要重启一下
2. 如果oracle为集群配置时
jdbc:oracle:thin:PCIS_TEST/PCIS_TEST@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IP1)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = IP2)(PORT = 1521))(LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = SERVICE_NAME ) (FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC) (RETRIES = 180) (DELAY = 5) ) ) )