SoupUI详细教程(四)【乐搏TestPRO】
上一期我们讲解了SoupUI的概念及下载安装是使用,请参考:
本节讲解下 Web Service Inspection和Web Service功能测试的使用。
一、Web Service Inspection
1. Web Service Inspection是什么及用法?
Web Service Inspection 是一个非常好的功能,它能够让你在测试开始执行时就能很容易地了解到你所测试的 Web Service 接口是如何工作,需要什么样的入参才能调用。直接浏览 WSDL 接口的 XML 报文,都是很杂乱的,而且一般 WSDL 报文也都比较复杂,很难直观地看出,因此很少人会这样做,而进一步导致测试人员不想去理解 WSDL。总而言之,由于 WSDL 的复杂而使人们不愿意去读懂它,但其实WSDL 是规范的,并且你怎么使用它将取决于你对他的认识,而 SoapUI 的接口视图模式是解决这个问题非常好的工具。通过双击“SampleServiceSoapBinding”节点,SoapUI 页面上会打开该节点的信息,切 换 至 WSDL Content 标 签 页 , 如 下 所 示 , 可 通 过 此 处 的 内 容 与 右 边 栏SampleServiceSoapBinding”节点下方的五个接口映射,以此来加深对 WSDL 的接口的理解。
2. Web Service Inspection用法
单击“SampleServiceSoapBinding”节点下方的接口“login”,展开接口对应已有的请求“Request 1”,双击“Request 1”打开请求页面,你将可以在 SoapUI 的桌面上看到“loginRequest”。
请求中已经写明了入参:username = Login,password = Login123,点击 按钮提交请求,成功后,可以在右边的“sam:loginResponse”框中看到响应报文。
你可以使用不同的显示方式,查看请求报文和响应报文的内容,只需要点击左边的 TAB 标签页即可。
二、对 Web Service 服务进行功能测试
在例子中,已经创建了不同的测试集,测试集包含了不同的用例,一个测试用例又由一个或多个测试步骤组成,SoapUI 会组织成如下的结构
通过点击“+”展开“Sample Simple TestSuite”,双击“Simple Login and Logout w.Properties Steps”。
你可以看到该测试用例由 5 个测试步骤组成。
可以点击“Description”标签查看测试用例描述。
该测试用例主要有 3 种类型的测试步骤组成:一个 Properties 测试步骤,两个TestRequests 和两个 PropertyTransfer 步骤,他们的功能如下
1.Properties:用来保存属性的值,后面的步骤都可以使用,在用例里“login”接口的入参就是使用属性“Username”和“Password”。
2. TestRequests:发给服务接口的请求,在用例中的请求有“login”和“logout”。
3. PropertyTransfer:一个用来在不同测试步骤间传递属性的步骤,这可以使用的场景有从一个Properties 的步骤将属性传给一个 TestRequests 的步骤,如用例中:“MoveUsername and
Password”步骤,也可以是将属性从一个请求的出参传递给另一个请求的入参,如用例中:“Move sessionID”步骤。
双击测试步骤:“Property Transfer: Move Username and Password”,测试步骤的编辑器将会在 SoapUI 上打开,这个步骤传递了“Username”和“Password”两个属性。
SoapUI 一个最重要的特点是:断言,断言的使用是为了验证发出的请求是否被正确的响应,校验与预期结果是否一致。打开测试步骤:“Test Request: logout”。在下面的测试步骤中,我们可以看到 4 个断言:
- SOAP Response:验证响应报文是一个有效的 SOAP 响应。
- Schema Compliance:指返回的报文是否符合 WSDL 中所定义的模式。
- Not SOAP Fault:检查响应报文没有包含 SOAP 异常。
- XPATH Match:比较 X PATH 表达式所指定位置上的元素是否与预期值符合。
测试执行:在上面我们已经大致了解了整个测试用例,接下来我们可以执行用例了,点击执行按钮 ,测试用例将直接执行,测试结果将会显示在下图所示的执行进度条上,如果完全通过此进度条会显示成绿色,如果执行不通过,会停在失败的执行步骤上,进度条显示成红色,而下方会打印相应的错误日志信息。
注:如果执行时进度条显示成红色,请检查一下你的 MockService 有没有开启,或者在执行完成的测试用例之前,你是否已经执行过“login”请求?如果执行过,请使用“logout”清除掉服务端的会话信息或重启 MockService,再重新执行测试用例。![]()
今天的分享先到这里,欢迎添加扣扣裙:636859964,入裙后你会有以下【福利】
–1. 裙文件可下载大量软件测试学习资源,每周持续更新,不要白不要
–2. 每周一到周五群内会公布免费软件测试公开课,不听白不听
–3. 裙内每天发布各大城市招聘信息(北上广深居多…)
–4. 裙内有众多测试技术大牛提供问题答疑,不学白不学
–5. 可免费领取软件测试电子版经典书籍(包括《Google软件测试之道》《Python核心编程 第3版》…)
–6. 你不来是你的损失,反正我会一直在原地等你~~