接口测试操作手册_第1页
接口测试操作手册_第2页
接口测试操作手册_第3页
接口测试操作手册_第4页
接口测试操作手册_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 SoapUI使用手册SoapUI操作手册制作人:测试团队制作单位:上海分中心工程管理部 文档版本号: V1.0 目录 TOC o 1-3 h z u HYPERLINK l _Toc374704323 第一章 概述 PAGEREF _Toc374704323 h 4 HYPERLINK l _Toc374704324 1.1 编写目的 PAGEREF _Toc374704324 h 4 HYPERLINK l _Toc374704325 1.2 读者 PAGEREF _Toc374704325 h 4 HYPERLINK l _Toc374704326 1.3 SoapUI简介 PAGERE

2、F _Toc374704326 h 4 HYPERLINK l _Toc374704327 第二章 环境搭建 PAGEREF _Toc374704327 h 5 HYPERLINK l _Toc374704328 2.1 软件包下载 PAGEREF _Toc374704328 h 5 HYPERLINK l _Toc374704329 2.2 Java环境配置 PAGEREF _Toc374704329 h 5 HYPERLINK l _Toc374704330 2.3 安装SoapUI PAGEREF _Toc374704330 h 6 HYPERLINK l _Toc374704331 第

3、三章 SoapUI使用说明 PAGEREF _Toc374704331 h 7 HYPERLINK l _Toc374704332 3.1 SoapUI项目与实际项目对应情况 PAGEREF _Toc374704332 h 7 HYPERLINK l _Toc374704333 3.2 创建SoapUI项目 PAGEREF _Toc374704333 h 8 HYPERLINK l _Toc374704334 3.3 创建服务 PAGEREF _Toc374704334 h 9 HYPERLINK l _Toc374704335 3.4 创建资源 PAGEREF _Toc374704335 h

4、 10 HYPERLINK l _Toc374704336 3.5 创建方法 PAGEREF _Toc374704336 h 12 HYPERLINK l _Toc374704337 3.6 创建TestSuite PAGEREF _Toc374704337 h 13 HYPERLINK l _Toc374704338 3.7 创建TestCase PAGEREF _Toc374704338 h 14 HYPERLINK l _Toc374704339 3.8 创建TestStep PAGEREF _Toc374704339 h 15 HYPERLINK l _Toc374704340 3.9

5、 运行测试 PAGEREF _Toc374704340 h 17 HYPERLINK l _Toc374704341 3.9.1 运行TestStep PAGEREF _Toc374704341 h 17 HYPERLINK l _Toc374704342 3.9.2 运行TestCase PAGEREF _Toc374704342 h 18 HYPERLINK l _Toc374704343 3.9.3 运行TestSuite PAGEREF _Toc374704343 h 20 HYPERLINK l _Toc374704344 3.10 发送报文(以xml格式为例说明) PAGEREF

6、_Toc374704344 h 21 HYPERLINK l _Toc374704345 3.11 传递参数 PAGEREF _Toc374704345 h 21 HYPERLINK l _Toc374704346 3.12 添加Assert PAGEREF _Toc374704346 h 23 HYPERLINK l _Toc374704347 3.13 脚本运行自动化 PAGEREF _Toc374704347 h 26 HYPERLINK l _Toc374704348 第四章 编写测试脚本规范 PAGEREF _Toc374704348 h 27 HYPERLINK l _Toc374

7、704349 4.1 基本说明 PAGEREF _Toc374704349 h 27 HYPERLINK l _Toc374704350 4.2 脚本规范 PAGEREF _Toc374704350 h 27 HYPERLINK l _Toc374704351 第五章 版本管理 PAGEREF _Toc374704351 h 27 HYPERLINK l _Toc374704352 第六章 SoapUI脚本参数化 PAGEREF _Toc374704352 h 27 HYPERLINK l _Toc374704353 6.1、基本说明 PAGEREF _Toc374704353 h 27 HY

8、PERLINK l _Toc374704354 6.2 Soap UI参数化操作 PAGEREF _Toc374704354 h 28 HYPERLINK l _Toc374704355 6.2.1 报文体的参数化 PAGEREF _Toc374704355 h 28 HYPERLINK l _Toc374704356 6.2.2 报文头的参数化 PAGEREF _Toc374704356 h 33 HYPERLINK l _Toc374704357 第七章 持续集成过程 PAGEREF _Toc374704357 h 39 HYPERLINK l _Toc374704358 7.1 MAVE

9、N工程的创建 PAGEREF _Toc374704358 h 39 HYPERLINK l _Toc374704359 7.1.1 新建Maven Project PAGEREF _Toc374704359 h 39 HYPERLINK l _Toc374704360 7.1.2 编译maven project PAGEREF _Toc374704360 h 44 HYPERLINK l _Toc374704361 7.2 SoapUI与Jenkins集成过程 PAGEREF _Toc374704361 h 46 HYPERLINK l _Toc374704362 A&Q PAGEREF _T

10、oc374704362 h 48 HYPERLINK l _Toc374704363 附录: PAGEREF _Toc374704363 h 50 HYPERLINK l _Toc374704364 安装包的组成 PAGEREF _Toc374704364 h 5 HYPERLINK l _Toc374704365 其他有用的信息 PAGEREF _Toc374704365 h 50第一章 概述1.1 编写目的自动化测试是敏捷测试中很重要的一环,可以让测试人员以较高的效率实现回归测试。此篇文档详细描述了SoapUI的安装、接口案例的配置、案例版本管理、MAVEN项目的建立,实现了将SoapUI

11、与Jenkins持续集成,以及在Jenkins上的构建过程。1.2 读者本文档适用于使用SoapUI工具进行接口测试并实现持续集成的人员。1.3 SoapUI简介由于 Web 服务是被程序调用的, 一般不会提供界面让最终用户或测试人 员直接使用,在 SoapUI 等工具出现之前,测试人员不得不自己编写程序来测试 它, 这就要求测试人员花费很大的精力了解底层的接口,调用关系和详细的协 议,导致他们不能把注意力集中到测试中。SoapUI 的出现极大的改变了这一局面。作为一个开源的工具,SoapUI 强大 的功能、易用的界面,吸引了很多用户。用户可以在 SoapUI 中通过简单的操作 完成复杂的测试

12、,不需要了解底层的细节, 极大的减轻了工作量。SoapUI 支持 多样的测试, 例如功能测试,性能测试,回归测试等。到目前为止 SoapUI 的 下载量已经超过了 100 万次,成为了 Web 服务测试标准和领先的 Web 服务测试 工具。它不仅仅可以测试基于SOAP的Web 服务,也可以测试REST风格的 Web 服务,后者也是本文介绍的重点。SoapUI是一个自由和 HYPERLINK /view/394804.htm t _blank 开放源码的跨平台 HYPERLINK /view/651435.htm t _blank 功能测试解决方案。通过一个易于使用的图形界面和企业级功能,Soa

13、pUI让您轻松,快速创建和执行自动化功能,回归,合规和 HYPERLINK /view/651437.htm t _blank 负载测试。第二章 环境搭建2.1 软件包下载SoapUI 基于 Java 开发,支持多个平台,安装非常简单。读者可以到 SoapUI 的官方网站下载一个安装包,根据各自的机器位数来选择相应的安装文件安装即可。安装包的组成文件描述来源soapUI-Pro-x32-4.5.2.exe32位安装包soapUI-Pro-4.5.2-X6464位免安装版注:若无外网,可在以下FTP上下载安装包,打开FTP:ftp:/ftptest:ftptest20/,找到路径“softwar

14、e/通讯接口测试SOAPUI、SOCKET自动化/”, 2.2 Java环境配置由于SoapUI是基于Java开发的,因此在安装SoapUI时需要设置JAVA_HOME和Path环境变量。成功安装JDK1.6(及其以上版本),选择“我的电脑”,点击“属性 |高级系统设置 | 高级 | 环境变量 | 系统变量”下点击“新建”,【变量名】输入“JAVA_HOME”,【变量值】指向JDK所在的路径,选中“系统变量”中的“PATH”,点编辑,在变量值的后面添加“PATH”值,如下图所示。图2-1 JAVA环境变量配置步骤(一)图2-2 JAVA环境变量配置步骤(二)2.3 安装SoapUISoapUI

15、的安装和普通的软件安装没有什么区别,根据提示一步一步进行就可以安装成功。配置环境变量。计算机属性-高级系统设置-环境变量-新建图2-3 设置环境变量点击确定,重启计算机,环境变量即可生效。第三章 SoapUI使用说明 3.1 SoapUI项目与实际项目对应情况在SoapUI的各种版本里,我们都能深刻地体会到它所提供的测试用例的管理与我们测试项目所需要的层级的映射关系是相当贴近的,对应关系图如下:图3-1 测试用例管理与项目测试层级对应关系SoapUI里着重引入了以下的概念:测试步骤TestStep:测试步骤是最小的单位,一个完整的测试用例是由多个测试步骤所组成的,而每一个测试步骤,都需要根据实

16、际的业务要求进行组织。3.2 创建SoapUI项目步骤一:点击“File” “New SoapUI Project”,创建一个新项目。图3-2 SoapUI项目创建步骤(一)步骤二:填写项目名称(TestPoject)和勾选“Stores all file paths in project relatively to project file(requires save)”。图3-3 SoapUI项目创建步骤(二)步骤三:选择保存路径并填写项目文件名。图3-4 SoapUI项目创建步骤(三)3.3 创建服务步骤一:右击项目名,点“New REST Service”。图3-5 SoapUI服务创

17、建步骤(一)步骤二:输入服务名称和 “Service Endpoint”,“Service Endpoint”由部署项目服务器的IP和端口号组成,例如: HYPERLINK :8080 :8080。 HYPERLINK :8080 :8080/resouse图3-6 SoapUI服务创建步骤(二)3.4 创建资源步骤一:右击服务名,点击“New Resource”。图3-7 SoapUI资源创建步骤(一)步骤二:输入“Resource Name”,和“ResourcePath” (ResourePath是该资源的访问路径)“Parameters”可以在这里设置也可以在创建完成之后进行创建。图3

18、-8 SoapUI资源创建步骤(二)3.5 创建方法创建好“Resource”后,弹出“New REST Method”对话框。在这里创建方法(接口)。输入“Method Name”(即接口名),选择“HTTP Method”,输入相关“Parameters”。图3-9 SoapUI方法创建3.6 创建TestSuite步骤:右击项目名,点击“New TestSuite”,在弹出框中输入TestSuite的名称。图3-10 TestSuite创建步骤(一)图3-11 TestSuite创建步骤(二)3.7 创建TestCase步骤:右击“TestSuite”名称,点击“New TestCase

19、”,在弹出框中输入TestCase名称。图3-12 TestCase创建步骤(一)图3-13 TestCase创建步骤(二)3.8 创建TestStep在TestCase页面中点击“REST”图标,在弹出框中输入TestStep名称,然后选择相应Resource下的method(方法(接口)映射。图3-14 TestStep创建步骤(一)图3-15 TestStep创建步骤(二)3.9 运行测试3.9.1 运行TestStep步骤一:点击左上角运行按钮。图3-16 TestStep运行步骤(一)步骤二:在response区域出现响应的报应表示成功。图3-17 TestStep运行步骤(二)3.

20、9.2 运行TestCase步骤:双击TestCase,然后点击绿色的运行按钮图3-18 TestCase运行步骤(一)图3-19 TestCase运行步骤(二)3.9.3 运行TestSuite图3-20 TestSuite运行步骤3.10 发送报文(以xml格式为例说明)双击“TestStep”,在Request区域中“Media Type”中输入报文和“Header”中输入Header信息。点击运行按钮在服务器中得到如下图信息:图3-21 SoapUI发送xml格式报文示例3.11 传递参数右击Method(接口)点击 “Show method viewer Enter”弹出视图窗体,点

21、击添加按钮,弹出对话框,输入参数名称,并在视图窗体中输入对应的参数值。图3-22 SoapUI参数传递示例图3-23 SoapUI参数传递示例3.12 添加AssertAssert采用Groovy脚本编写,基本语法如示例。图3-24 SoapUI添加AssertXML报文的示例如图3-25。图3-25 SoapUI添加Assert-XMLJSON格式的报文添加Assert见图3-26。图3-26 SoapUI添加Assert-JSONJson/取得响应上下文def holder=net.sf.json.JSONSerializer.toJSON(messageExchange.response

22、Content);/取得响应上下文def books=holder.get(books);/采用数组下标遍历元素并用get链式结构获得子代元素值assert books0.get(book).get(id)=1234;Xmldef holder=newcom.eviware.soapui.support.XmlHolder(messageExchange.responseContentAsXml);/采用Url开式获得节点信息并用text方法取值,其中bookid=1234表示book节点下id值为1234的节点信息def node =holder.getNodeValue(/bookid=1

23、234/price/text();assert node=29.0;3.13 脚本运行自动化用SoapUI自带的testrunner.bat命令可以实现SoapUI的脚本运行自动化。具体实现的方法如下:步骤一:下载并安装SoapUI-Pro版,只有Pro版本的SoapUI可以通过运行testrunner.bat命令来生成详细的测试报告;步骤二:编写bat批处理文件(linux为shell脚本)调用restrunner.bat。示例如下:图3-27 SoapUI批处理文件示例其中“C:Program FilesSmartBearsoapUI-Pro-4.5.2bin”为SoapUI-Pro安装路

24、径; “E:SoapTest-soapui-project.xml”为SoapUI project file; “E:soupui_reports”为测试报告输出目录。 testrunner参数说明: -s指定要运行的 TestSuite-f 指定运行结果的输出目录-j 生成 junit 风格的 report-r 运行完成以后打印一个简单的 summary testrunner.bat还有其它参数可以指定,详细请查看帮助文档或google。对于SoapUI来说很多功能可以使用右键功能,例如:创建TestStep、TestCase等等其他功能可以在右键找到菜单选项。对于Groovy脚本的使用,只

25、要能使用一些常用功能的用法就可以满足测试要求,对于复杂的功能可以查找其他的资料进行补充。本文档是针对已经部署的服务进行创建的测试项目。第四章 编写测试脚本规范4.1 基本说明对测试脚本进行规范化管理对后续的版本管理及持续集成有重大意义,本章从全局观出发提出测试脚本的基本编写规范。4.2 脚本规范1、接口定义编号名称与功能统一。在SOAPUI中配置接口信息的时候需保证编号名称与接口功能上的统一。2、接口配置与案例配置向分离。在SOAPUI中需先配置接口信息,配置的接口信息应包含请求URL、通用报文头等基本信息。接口的请求参数等信息应配置在测试案例中。3、合理配置TESTCASE。测试人员需合理利

26、用TESTSUIT,将一个功能点中的多个接口请求配置为多个TESTCASE然后配置至一个TESTSUIT中。第五章 版本管理创建完一个SoapUI项目后,会生成一个本地的XML脚本文件。当有多个测试人员同时测试一个项目时,那么如何将不同的测试人员的案例脚本有效地进行管理和合并便成为一个亟待解决的问题。在此,我们利用SVN工具来实现脚本文件的版本管理。测试人员对项目的脚本进行编辑前先update下最新的版本,在添加完自己的测试案例后,再将案例commit上去,以避免发生冲突。第六章 SoapUI脚本参数化6.1、基本说明Soap UI自动化测试中,在接口请求参数中时常有一些请求参数是时常变化(如

27、随机数,sessionid),这些请求参数需要根据其它接口返回消息作为请求参数实时变化,为解决此问题,特研究SOAP UI参数化。6.2 Soap UI参数化操作6.2.1 报文体的参数化具体的步骤如下:第一步,请求随机数接口获取返回随机数报文中的数据第二步,新建Property Transfer第三步,在 Property Transfer 中配置参数传递,在Transfers中新建变量,在右边Source中设置之前请求的随机数接口名,在Property中设置ResponseXml。先按照第4步操作在TestSuite中再配置变量,然后在Property Transfer右边Target处设

28、置刚配置的TestSuite名,在property处设置刚设置的变量名。第四步,在TestSuite-Custom proerties中配置变量第五步,在新接口中把之前几步取到的变量值放入到请求参数中,取变量值如下图所示。Formcookie-Get DataTestSuite变量名第六步,将传递过来的值放入到新接口请求报文中6.2.2 报文头的参数化取请求接口返回报文Headers中cookie的值,并把取出的cookie赋值给下一个需要调用接口的headers中。具体步骤如下:第一步,请求新增用户授权接口,获取返回报文第二步,新建Groovy Script第三步,在TestCase-Cus

29、tom Properties中设置变量第四步,在Groovy Script中取headers中的Set-cookie值,并截取字符串,然后放入TestCase Custom Properties 的cookie变量中,代码如下:/取header中的cookiedef cookie=testRunner.testCase.testStepslogin.testRequest.response.responseHeadersSet-Cookie0/截取字符串formatsCookie=cookie0.37(截取字符串cookie=+formatsCookie)/将变量值写入cookie中testR

30、unner.testCase.setPropertyValue(cookie,formatsCookie)第五步,在新接口中把之前几步取到的变量值放入到请求参数中,取变量值如下图所示。Formcookie-Get DataTestCase变量名第六步,取cookie变量中的值放入headers中第七章 持续集成过程自动化测试是敏捷测试中很重要的一环,可以让测试人员以较高的效率实现回归测试。本章实现了将SoapUI与Jenkins持续集成,详细描述了项目构建过程。7.1 MAVEN工程的创建本节是实现SoapUI与Jenkins集成前的准备工作。首先在本地成功创建Maven工程,并且编译成功后将

31、项目集成到Jenkins上。7.1.1 新建Maven Project打开eclipse-file-new-other,接下来的步骤按照图6-1图6-5。图6-1 maven project 创建(一)图6-2 maven project 创建(二)图6-3 maven project 创建(三)图6-4 maven project 创建(四)图6-5 maven project 创建(五)7.1.2 编译maven project在6.3.1节中我们已经成功创建了一个新的Maven Project,接下来是实现SoapUI案例脚本的批处理。示例源码如图6-6所示:图6-6 Junit源码示例第一步,先在项目当前目录下创建一个prject_xml文件夹,将案例脚本放在该文件夹里;第二步,本地运行maven install;图6-7 Maven Inst

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论