Web Service 接口测试
Posted 测试之道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web Service 接口测试相关的知识,希望对你有一定的参考价值。
Web Service 接口测试
- Web service 概念
Web service使用与平台和编程语言无关的方式进行通讯的一项技术, web service 是一个接口, 他描述了一组可以在网络上通过标准的XML消息传递访问的操作,它基于xml语言协议来描述要执行的操作或者要与另外一个web 服务交换数据, 一组以web服务在面向服务体系结构中定义的web应用程序.
可以简单的理解为web service是一个SOA(面向服务的编程)架构, 它不依赖于语言, 也不依赖于平台, 可以实现不同语言之间的通讯和相互调用.SOAP(简单对象访问协议) 是xml web service的通讯协议. 当用户通过UDDI找到WSDL(Web Service Description Language)文档后,通过SOAP调用建立的web service的一个或者多个操作.SOAP是xml文档形式的调用方法规范, 可以支持不同的底层接口.
- Web service 接口准备 如果有现成的webService请忽略这步
使用Eclipse或者Intellij等IDE工具,使用java语言实现一个简单的web服务.
1.在Intellij中File->New->Project中选择使用Maven来创建项目,输入项目名称即可创建项目,我们使用WebService来命名项目,项目创建完成后在其目录中会有一个文件pom.xml,会自动加入如下配置文件:
<groupId>webService</groupId>
<artifactId>webService</artifactId>
<version>1.0-SNAPSHOT</version>
2.在java目录下新建一个java class, 定义为一个webService 接口,只有方法,没有具体实现.
import javax.jws.WebMethod;
@javax.jws.WebService
public interface WebService {
@WebMethod
String sayHello(String name);
}
3.再同目录下新建一个java class, 用来实现定义的webService接口, 并重载接口中定义方法.
@javax.jws.WebService
public class WebServiceImple implements WebService {
public String sayHello(String name){
System.out.println("请求成功了");
String a= name+"Hello world 你很厉害, 恭喜你!";
return a;
}
4.再新建一个java class, 用来启动发布我们的webService应用
import javax.xml.ws.Endpoint;
public class WebServicePublish {
public static void main(String[] args) {
String address="http://localhost:8989/WS_Server/Webservice";
Endpoint.publish(address,new WebServiceImple());
System.out.println("服务端发布成功了!");
}
}
5. 发布应用
右键选择执行即可发布应用程序.
如果正常即可在控制台上看到下列信息:
/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin/java -Dfile.encoding=UTF-8 服务端发布成功了!
恭喜你发布成功了,接下来用浏览器直接访问
http://localhost:8989/WS_Server/Webservice?wsdl
看到一堆xml说明webService可以正常访问了.
- Web service 接口测试
webService支持相对有好的工具SoapUI, 它是针对soap协议而生, 我们打开SoapUI应用.
在SoapUI 的工具栏中我们选择soap->Create a New Soap Project, 在弹框中我们输入Project name 和WSDL Link
Project Name:推荐名字根据项目名称取
Initial WSDL:被测的wsdl link
Create Requests: 默认选中
Create TestSuite: 测试套件可以这里勾选创建,也可以后续自行创建.
点击OK 即可.
SoapUI根据link自动导入所有接口信息
可以看到SayHello使我们在Intellij中实现的接口方法.
我们在SoapUI的请求中, 在参数里输入相关信息,验证接口
查验接口request和Response
同时查看Intellij IDE是否有报错信息, 控制台显示请求成功
从Response中可以判断我们的返回和IDE中定义的是相符的.
- 增加TestSuite
增加TestSuite和TestCase的意义在于soap 接口测试为后续自动化测试提供基础脚本和回归验证.
在webServiceTest右键New TestSuite
新建一个TestCase, 在Suite 右键New TestCase
最后一步将接口添加到TestCase, 右键接口SayHello选择Add to TestCase, 然后选择要添加Suite和TestCase,即可将接口添加进入Step中
这样SayHello 接口就被添加到testCase中了,还是非常方便的., 这时候可以给接口SayHello添加相关的断言.
今日推荐阅读文章精选推荐
咨询工作加微信
扫描二维码
欢迎自荐和推荐, 需要的微信推送简历!
请猛戳下面二维码了解更多
以上是关于Web Service 接口测试的主要内容,如果未能解决你的问题,请参考以下文章
问下啊 本地测试的web-service能正常使用 但放到服务器运行 web-service 就返回 “无法连接到远程服务器”
安全测试 web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪么可能存在漏洞场景是?SQL注入漏洞修复 JS注入漏洞修复 漏洞存在场景分析和修复示例(代码片段