收藏 分销(赏)

soapUI中使用Groovy生成和验证数据.doc

上传人:a199****6536 文档编号:2643813 上传时间:2024-06-03 格式:DOC 页数:2 大小:21.39KB 下载积分:5 金币
下载 相关 举报
soapUI中使用Groovy生成和验证数据.doc_第1页
第1页 / 共2页
soapUI中使用Groovy生成和验证数据.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
在soapUI中使用Groovy生成和验证数据 soapUI 是一款领先的Web Service测试工具,它支持脚本,来做一些更灵活的测试工作。比如生成测试数据并在之后做验证。 我们假设一个场景,我们接受一个Web Services,它含有id和name信息。我们会把这些信息存到数据库的'a_table'表里。 [code=sql] CREATE TABLE A_TABLE ( ID NUMBER(8, 0) NOT NULL, NAME VARCHAR2(20), CONSTRAINT TABLE1_PK PRIMARY KEY (ID) ); [/code] 1. 添加如下脚本到TestCase的'Setup Script'中 [code=java] import groovy.sql.Sql def username = context.expand( '${jdbc.username}' ) def password = context.expand( '${jdbc.password}' ) def url = context.expand( '${jdbc.url}' ) def driver = context.expand( '${jdbc.driver}' ) def sql = Sql.newInstance(url, username, password, driver) def maxId = sql.firstRow("select max(id) value from a_table") if (null == maxId.value) maxId = 0; else maxId = maxId.value log.info "max manufacturer id is: ${maxId}" def prop = testRunner.testCase.getTestStepByName( "Properties" ) prop.setPropertyValue( "id", String.valueOf( maxId + 1) ); prop.setPropertyValue( "name",         "TestName" + String.valueOf( maxId + 1) ); [/code] 2. 添加Properties [code] id name [/code] 3. Modify Test Request [code=xml] <soapenv:Envelope         xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">     <soapenv:Body>         <testRequest>             <id>${Properties#id}</id>             <name>${Properties#name}</name>         </testRequest>     </soapenv:Body> </soapenv:Envelope> [/code] 4. 添加Script Assertion用于验证 [code=java] import groovy.sql.Sql def username = context.expand( '${jdbc.username}' ) def password = context.expand( '${jdbc.password}' ) def url = context.expand( '${jdbc.url}' ) def driver = context.expand( '${jdbc.driver}' ) def sql = Sql.newInstance(url, username, password, driver) def prop = testRunner.testCase.getTestStepByName( "Properties" ) def id = prop.getPropertyValue( "manID" ).toInteger() def name = prop.getPropertyValue( "manName" ) def row = sql.firstRow( "select id id, name name from a_table where id = ${id}") assert null != row assert id == row.id assert name.equals(row.name) [/code] 在soapUI中使用动态Endpoint 1. 创建一个soapui.properties文件把它放在你的soapUI主目录的bin目录下 soapui.properties 例子: [code] # endpoint list serviceA.endpoint = http://localhost:7001/axis/services/serviceASOAP serviceB.endpoint = http://localhost:7001/axis/services/serviceBSOAP [/code] 2. 打开你的TestCase,设置endpoint为你的endpoint属性名,例如 ${##serviceA.endpoint} 3. 运行你的TestCase,你会发现endpoint被成功替换了
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服