SoapUI测试工具.docx
- 文档编号:3247133
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:16
- 大小:432.40KB
SoapUI测试工具.docx
《SoapUI测试工具.docx》由会员分享,可在线阅读,更多相关《SoapUI测试工具.docx(16页珍藏版)》请在冰豆网上搜索。
SoapUI测试工具
SoapUI测试工具
1SoapUI简介
SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现WebService的功能/负载/符合性测试。
SoapUI强大的功能、易用的界面,吸引了很多用户。
用户可以在SoapUI中通过简单的操作完成复杂的测试,不需要了解底层的细节,极大的减轻了工作量。
SoapUI支持多样的测试,例如功能测试,性能测试,回归测试等。
到目前为止SoapUI的下载量已经超过了100万次,成为了Web服务测试标准和领先的Web服务测试工具。
它不仅仅可以测试基于SOAP的Web服务,也可以测试REST风格的Web服务。
2SoapUI使用过程
(功能测试部分)
2.1创建/导入工程
点击菜单File选择NewsoapUIProject新建工程
在弹出的提示窗口中输入项目名称ProjectName,然后在InitialWSDL/WADL框中输入WebService的URL地址,或者可以直接导入WebService的WSDL文件。
这里引用一个“中国电视节目预告Web服务:
点击确定
SoapUI工具会解析WSDL文件获取服务接口,创建请求,将项目内容显示在SoapUI的左侧窗口中,如图:
由上图可以看到该服务提供了8个接口。
2.2单个服务的请求及运行
展开接口“getTVstationDataSet”的Soap请求“Request1”:
双击查看请求的SOAP消息,如图
在打开的窗口中可以看到服务请求Soap消息,其中的“?
”问号代表的是入参,将其修改为请求入参值“-1”(该实例中,-1代表中央电视),然后点击图标
按钮运行,获得请求结果:
图中右侧窗口中可以看到返回的Soap消息及其中的数据。
2.3构建测试用例
选择项目“ChinaTV”并右键,选择NewTestSuite,构建一个测试套件如图
然后,在新建的TestSuite中右键,选择NewTestCase,新建TestCase并将服务请求加入到TestCase中(AddtoTestCase):
如图
如此操作完成后可以在项目窗口中看到新建完成的测试用例TestCase1
该用例包含一个测试步骤getTVstationDataSet-Request1
因为上述过程中已经设置了服务请求入参,所以这里双击TestCase1点击
可以直接运行:
图中的绿色方条表示该测试运行通过。
2.4增加检查点
打开服务请求getTVstationDataSet–Request1,点击
,添加检查点:
如图
检查点有多种类型,这里选择包含“Contains”并输入检查内容“中央电视台”:
如图
点击“OK”输入“中央电视台”点击“OK”
运行服务请求后可以看到如下图
可以看到检查点是有效的:
Contains-VALID。
2.5组织测试步骤
将getAreaDataSet(获得支持的省市(地区)和分类电视列表)、getTVstationDataSet(通过省市ID或分类电视ID获得电视台列表)、getTVchannelDataSet(通过电视台ID获得该电视台频道列表)、getTVprogramDataSet(通过频道ID获得该频道节目列表)依次加入到TestCase1的测试步骤中去,然后组织测试步骤获取“CCTV-1”的节目列表。
测试步骤:
1、获得“中央电视”的分类ID“-1”
2、获取“中央电视”类别中的“中央电视台”ID:
“39”
3、获取“中央电视台”的频道“CCTV-1”ID:
“606”
4、获取“CCTV-1”频道的节目列表如图:
然后需要将服务请求getAreaDataSet结果中的“中央电视”ID“-1”作为服务请求getTVstationDataSet入参,右键点击getAreaDataSet-Request1,选择InsertStepPropertyTransfer,如图:
这个PropertyTransfer用于两个服务请求间的交互,将其命名为:
“AreaTransferStation”,弹出AreaTransferStation窗口,点击
新建一个PropertyTransfer节点,命名为“中央”
Source中我们选择getAreaDataSet-Request1的Response,Target中我们选择getTVstationDataSet-Request1的Request,并通过脚本选择服务请求getAreaDataSet返回结果Soap消息中节点(AreaList[4])中(areaID[1])的值传递给服务请求getTVstationDataSet作为入参(theAreaID[1])的值。
其中:
declarenamespacediffgr="urn:
schemas-microsoft-com:
xml-diffgram-v1";用于声明命名空间,与SOAP消息中的命名空间对应。
同样的操作步骤,组织好其他几个服务请求间的交互,就组织完成了一个完整的测试步骤,最后运行TestCase,看到全部的运行结果:
(绿色表示运行通过)
3组织负载测试
(负载测试部分)
3.1创建负载测试用例
右键单击已经创建好的测试用例,在弹出的右键菜单中选择“NewLoadTest”如图:
在弹出的对话框中,输入用例名称(自己命名),点击“OK”
如此就完成了负载测试用例的创建
3.2执行负载测试用例
在负载测试用例创建完成之后,还需要配置相应的负载策略,配置窗口如下图:
Limit:
表示负载测试要持续执行的时间,单位为秒;
Threads:
配置负载测试所用的线程数,即一般性能测试中所说的并发数;
TestDelay:
设置测试时线程的休眠时间,即在完成一次完整的用例执行后,开始下一次执行的,线程的休眠时间,以毫秒为单位;
Random:
表示休眠时间会在“TestDelay”*(1-0.5)=100毫秒和“TestDelay”*(1+0.5)=300毫秒之间波动;
可以根据测试场景进行相应的修改。
配置完负载策略之后,点击
执行测试,在图中,可以看到,测试关注的数据跟随着测试的进行而持续的发生变化,得到的数据有:
响应时间、每秒吞吐量(tps)、错误数(err);
也可以通过点击
按钮查看数据结果的整体走向图:
3.3负载断言
在SoapUI的负载测试中,可以定义负载测试的断言,一个最经常用且重要的断言是:
MaxErrors。
当负载测试过程中,出现错误,且错误数量达到MaxErrors要求的值时,负载测试会停止。
在LoadTest中配置LoadTestAssertion:
在LoadTest底部工具栏中选择LoadTestAssertions选项卡,然后点击
按钮
选择需要添加的断言类型:
点击“确定”,在弹出的对话框中可以设定断言的各种值
设定完成,点击“OK”,添加断言成功,可以看到添加了一条Assertion
再次执行该负载测试用例,超出断言所设定的值的将会报错,图中可以看到错误数比原来多了4条
切换到LoadTestLog选项卡可以查看错误信息
4创建MockService
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SoapUI 测试 工具