




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SoapUI-WebService测试方案1.WebService简介WebService是一种革命性的分布式计算技术,本质上就是网络上可用的API,可以直接在网络环境调用的方法。WebService常用的框架有axis、xfire、cxf等。WebService发布后,其服务是封装在一个wsdl(Web Services Description Language,Web服务描述语言)文件中,客户端发请求主要是向发布好的wsdl地址以SOAP方式发请求,调用过程如下:Ø 服务端:n 生成服务描述文件,以供客户端获取。n 接收客户端发来的SOAP请求
2、消息,解析其中的方法调用和参数格式。n 根据wsdl和wsml的描述,调用相应的COM对象来完成指定功能,并把返回值放入SOAP回应消息返回给用户。Ø 客户端:n 取得服务端的服务描述文件,解析该文件从而获得服务端的服务信息以及调用方式。n 指定调用方法和参数,生成恰当的SOAP请求消息,发往服务端。n 等待服务端返回的SOAP回应消息,解析得到返回值。2.WebService测试说明WebService的测试主要围绕功能测试、性能测试和安全性测试展开,下面主要描述WebService三大测试的要点。2.1 WebServi
3、ce功能测试测试目的:测试系统所实现WebService接口的功能。进入条件:开发人员提供已实现功能的程序包,和待测试Webservice的方法名、参数以及实现的功能描述。测试要点:不同的参数组合,应按设计要求返回相应的信息。2.2 WebService性能测试测试目的:测试系统所实现WebService接口的性能。进入条件:WebService接口的功能测试已完毕。测试要点:测试并发调用WebService接口,观察其性能表现,主要是在不同的并发量、持续运行时间和数据库不同容量下,事务的响应时间、总事务数、事务的成功率、点击率等,同时监控硬件资源的消耗情况。2.3 Web
4、Service安全性测试测试目的:测试系统所实现WebService接口的安全性。进入条件:WebService接口的功能测试已完毕。测试要点:测试WebService接口的调用是否有用户名、密码验证,恶意调用是否会导致系统崩溃等。3.WebService功能测试目前掌握的测试工具soapUI可以进行WebService的功能测试,下面以测试存储服务的PIXManager接口详细介绍使用soapUI进行WebService功能测试的操作步骤。3.1 新建工程1、单击File-> New soapUI Project,如下图: 2、在弹出的对话框中输入待测试的ws信息,
5、然后点击 OK 到下一步Project Name:PIXManagerInitial WSDL/WADL:1:8181/WEB-INF/services/PIXManager?wsdlCreate Requests:选中Create TestSuite:选中Relative Paths:选中 3、保存project 4、生成初始的测试用例选择One TestCase for each Operation:每个接口创建一个用例选择Create new empty requests:创建一个空的请求Operations:
6、选择待测试的方法选择Generates a default LoadTest for each created TeseCase:每个用例生成一个负责测试(为后面性能测试做准备) 5、生成TestSuite这里可以根据习惯更改TestSuite的名称,如TestSuite:PIXManager。6、在soapUI的左侧生成如下目录 此时新建project已完成!3.2 发送请求1、创建项目的时候我们选择了Create sample requests for all operations,所以每个接口方法都会自动创建一个请求,如下图:2、双击它就可以打开编辑面板,左边是请求内
7、容,右边是响应内容。 3、在Form页面输入参数,单击 按钮执行,右侧查看结果。 根据反馈的结果判断请求是否发送成功。输入的xml内容如下:<?xml version="1.0" encoding="GB2312"?> <V_PATIENTREGC99999999 xsi:noNamespaceSchemaLocation="PATIENTREGC99999999.xsd" xmlns:xsi=&qu
8、ot;/2001/XMLSchema-instance"> <MEDICALSERVICE_NO>01</MEDICALSERVICE_NO> <NAME>小花</NA
9、ME> <BIRTH_DATE>1988-02-01T00:00:00</BIRTH_DATE> <GENDER_CD>1</
10、GENDER_CD> <GENDER_VALUE>男性</GENDER_VALUE> <MARITAL_ST_CD>10</MARITAL_ST_CD> &
11、#160; <MARITAL_ST_VALUE>未婚</MARITAL_ST_VALUE> <ID_NO_CD>01</ID_NO_CD> <ID
12、_NO_VALUE>居民身份证</ID_NO_VALUE> <ID_NO>12586</ID_NO> <MEDICARE_CD>01</MEDICARE_CD>
13、60; <MEDICARE_VALUE>社会基本医疗保险</MEDICARE_VALUE> <MEDICAL_INSURANCE_NO>Y001</MEDICAL_INSURANCE_NO>
14、; <AR_CD>111</AR_CD> <AD_CD>01</AD_CD> <AD_
15、VALUE>户籍住址</AD_VALUE> <PROVINCE_NAME>上海</PROVINCE_NAME> <CITY_NAME>上海</CITY_NAME>
16、60; <AREA_NAME>浦东区</AREA_NAME> <STREET_ID>霞飞路</STREET_ID> &
17、#160; <VILLAGE_NAME>街</VILLAGE_NAME> <HOUSE_NO>门牌号</HOUSE_NO> <TEL_TYPE_CD>01</TEL_TYPE_CD&
18、gt; <TEL_TYPE_VALUE>本人电话</TEL_TYPE_VALUE> <TEL_NO>1232312</TEL_NO>
19、60; <REGISTER_DATE>2010-09-27T14:31:00</REGISTER_DATE> <RECORDER_NAME>小芳</RECORDER_NAME>
20、; <REGISTER_PERSON_CODE>01</REGISTER_PERSON_CODE> <REGISTER_ORG_CODE>01</REGISTER_ORG_CODE>
21、160; <REGISTER_ORG_NAME>中科</REGISTER_ORG_NAME> <SEND_TIME>2010-09-27T14:32:00</SEND_TIME> <SEND_ORG_CODE>798921772</SEND_ORG_C
22、ODE> <SEND_SYSTEM>222222222222</SEND_SYSTEM> </V_PATIENTREGC99999999>4.WebService性能测试目前掌握的是两个测试工具soapUI和LoadRunner,其中soapUI可以进行WebService的功能和性能测试,而LoadRunne
23、r主要是性能测试。下面分别介绍两个工具进行WebService性能测试的步骤。4.1 采用soapUI测试步骤基于前面soapUI功能测试的步骤,若已成功,可将脚本参数化后用于性能测试,具体步骤如下:4.1.1 数据生成器1、右键单击Test Steps,Add Step->DataGen,如下图: 2、输入步骤名称 3、设置生成方法1) 点击 新建 2) 定义名称和类型 Name:自定义,如MEDICALSERVICE_NOType:选择Number型, 3) 设置为Randomize inst
24、ead of step 4.1.2 参数化打开待参数化的请求,找到需参数化的内容,选中并右键单击,如下图:。 选择Get Data->Step 1:DataGen->property MEDICALSERVICE_NO原来的数据被替换为:$DataGen#MEDICALSERVICE_NO4.1.3 场景执行和监控1、打开TestSuite:PIXManager->registerPatientInterface->Load Tests->registerPatientInterface
25、 2、设置并发线程,单击 执行测试 4.1.4 结果分析 4.2 采用LoadRunner测试步骤 4.2.1 脚本准备1.选择协议 2、导入wsdl 3、Add Service Call 设置好后生成如下脚本: web_service_call( "St
26、epName=registerPatientInterface_101", "SOAPMethod=PIXManager_Service|PIXManager_ServicePort|registerPatientInterface",
27、0; "ResponseParam=response", "Service=PIXManager_Service",
28、 "ExpectedResponse=SoapResult", "Snapshot=t1294907356.inf",
29、; BEGIN_ARGUMENTS, "msgID=", "sendMsgOrgID=&q
30、uot;, "sendMsgPosID=", "eventDateTime=",
31、 "eventDateTimeSpecified=", "xml=",
32、; END_ARGUMENTS, BEGIN_RESULT,
33、 "return=Param_return", END_RESULT, LAST); 4、输入参数1)输入msgID、sendMsgOrg
34、ID、sendMsgPosID、eventDateTime、eventDateTimeSpecified; "msgID=11111", "
35、;sendMsgOrgID=111111", "sendMsgPosID=111111", "eventDateTime=201
36、1-01-12 10:10:10", "eventDateTimeSpecified=true", 2)输入Xml; "
37、;xml=<?xml version="1.0" encoding="GB2312"?> " "<V_PATIENTREGC99999999 xsi:noNamespaceSchemaLocati
38、on="PATIENTREGC99999999.xsd" xmlns:xsi="/2001/XMLSchema-instance">" " &
39、#160; <MEDICALSERVICE_NO>01</MEDICALSERVICE_NO>" " <NAME>小花</NAME>" &
40、#160; " <BIRTH_DATE>1988-02-01T00:00:00</BIRTH_DATE>"
41、160; " <GENDER_CD>1</GENDER_CD>" &quo
42、t; <GENDER_VALUE>男性</GENDER_VALUE>" "
43、; <MARITAL_ST_CD>10</MARITAL_ST_CD>" " <MARITAL_ST_VALUE>未婚&l
44、t;/MARITAL_ST_VALUE>" " <ID_NO_CD>01</ID_NO_CD>"
45、; " <ID_NO_VALUE>居民身份证</ID_NO_VALUE>"
46、 " <ID_NO>lt;/ID_NO>" "
47、; <MEDICARE_CD>01</MEDICARE_CD>" " <MEDICARE_V
48、ALUE>社会基本医疗保险</MEDICARE_VALUE>" " <MEDICAL_INSURANCE_NO>Y001</MEDICAL_INSURANCE_NO>
49、;" " <AR_CD>111</AR_CD>"
50、160; " <AD_CD>01</AD_CD>" "
51、0; <AD_VALUE>户籍住址</AD_VALUE>" "
52、 <PROVINCE_NAME>上海</PROVINCE_NAME>" " <CITY_NAME>上海</CITY_NAME>"
53、0; " <AREA_NAME>浦东区</AREA_NAME>"
54、; " <STREET_ID>霞飞路</STREET_ID>" "
55、0; <VILLAGE_NAME>街</VILLAGE_NAME>" " &
56、#160; <HOUSE_NO>门牌号</HOUSE_NO>" " <TEL_TYPE_CD>01</TEL_TYPE_CD>"
57、0; " <TEL_TYPE_VALUE>本人电话</TEL_TYPE_VALUE>"
58、 " <TEL_NO>1232312</TEL_NO>" " &
59、#160; <REGISTER_DATE>2010-09-27T14:31:00</REGISTER_DATE>" "
60、160; <RECORDER_NAME>小芳</RECORDER_NAME>" " <REGISTER_PERSON
61、_CODE>01</REGISTER_PERSON_CODE>" " <REGISTER_ORG_CODE>01</REGISTER_ORG_CODE>"
62、 " <REGISTER_ORG_NAME>中科</REGISTER_ORG_NAME>"
63、0; " <SEND_TIME>2010-09-27T14:32:00</SEND_TIME>" &
64、#160; " <SEND_ORG_CODE>798921772</SEND_ORG_CODE>" "
65、0; <SEND_SYSTEM>222222222222</SEND_SYSTEM>" " </V_PATIENTREGC99999999>",
66、160;5、脚本增强1)参数化; 2)增加事务并打印返回结果; lr_start_transaction("registerPatientInterface"); if (strstr(lr_ev
67、al_string("Param_return"),"C99999999$")=NULL) if (strstr(lr_eval_string("Param_return"),"empty!")=NULL)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年销售团队培训计划及效果评估
- 2025年春湘少版六年级英语教学目标计划
- 六年级语文多媒体教学计划
- 语言学习伙伴配对计划
- 酒店节能环保项目实施计划
- 幼儿园控烟教育及家长参与计划
- 2025年部编版小学语文三年级上册教材使用计划
- 2025小学班主任国际交流活动计划
- 人教版七年级数学课堂互动计划
- 青岛版一年级上册科学跨学科教学计划
- 2025年成考思修模拟试题及答案
- 2025年医保知识考试题库及答案(医保数据安全)试卷
- 2024年安康市旬阳市市直教育单位遴选教师考试真题
- 2025年北京平谷区高三一模高考数学模拟试卷(含答案详解)
- TCHSA 081-2024 接受双膦酸盐治疗患者拔牙围手术期处理专家共识
- 2025年陕西航空职业技术学院单招职业适应性考试题库汇编
- 学校安全管理工作总结
- 活动策划执行合同协议书
- 2025年时政题库及答案(100题)
- 2025年钟山职业技术学院单招职业技能测试题库带答案
- 2025年湖北科技职业学院单招职业技能测试题库参考答案
评论
0/150
提交评论