Web Service接口测试

news2024/9/24 7:16:13

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,会自动加入如下配置文件:

2.在java目录下新建一个java class, 定义为一个webService 接口,只有方法,没有具体实现.

import javax.jws.WebMethod;

@javax.jws.WebService
public interface WebService {
    @WebMethod
    String sayHello(String name);
}

3.再同目录下新建一个java class, 用来实现定义的webService接口, 并重载接口中定义方法.


import javax.jws.WebService;
import java.lang.annotation.Annotation;

@javax.jws.WebService
public class WebServiceImple implements WebService {

    public String sayHello(String name){
        System.out.println("请求成功了");  //请求成功的时候控制台输出
        String a= name +"Hello world 你很厉害, 恭喜你!"; //Response 返回给request
        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添加相关的断言.

Story:

马蝇效应认为没有马蝇叮咬,马就会慢慢腾腾,走走停停;如果有马蝇叮咬,马就不敢怠慢,跑得飞快。也就是说,人是需要一根鞭子的,只有被不停地抽打,才不会松懈,才会努力拼搏,不断进步。这根鞭子是压力,是挫折和困难,是危机意识。这一解释不仅适用于个人,同样也适用于企业.

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1534316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode 994. 腐烂的橘子

心路历程: 一开始以为和刚做过的岛屿问题很像,只不过是把岛屿问题换成BFS去做,然后再加上一些计数的规则。结果做完后发现只能通过一半左右的测试用例,发现有一个逻辑错误在于,当腐烂的橘子位于两端时,可以…

代码随想录算法训练营第day25|216.组合总和III、 17.电话号码的字母组合

216.组合总和III 力扣题目链接 (opens new window) 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输…

转置卷积(transposed-conv)

一、什么是转置卷积 1、转置卷积的背景 通常,对图像进行多次卷积运算后,特征图的尺寸会不断缩小。而对于某些特定任务 (如图像分割和图像生成等),需将图像恢复到原尺寸再操作。这个将图像由小分辨率映射到大分辨率的尺寸恢复操作&#xff0c…

el-table的border属性失效问题解决方案

目录 问题: 使用的代码: 官方文档的说明: 可能的问题所在: 关于使用了作用域插槽: a.自定义内容的样式覆盖: b.表格结构的改变: 解决方案: 通过css样式解决: 下面…

2024年【高压电工】考试总结及高压电工考试技巧

题库来源:安全生产模拟考试一点通公众号小程序 高压电工考试总结是安全生产模拟考试一点通生成的,高压电工证模拟考试题库是根据高压电工最新版教材汇编出高压电工仿真模拟考试。2024年【高压电工】考试总结及高压电工考试技巧 1、【单选题】 ()指正常情…

自然语言处理实战项目28-RoBERTa模型在BERT的基础上的改进与架构说明,RoBERTa模型的搭建

大家好,我是微学AI,今天给大家介绍下自然语言处理实战项目28-RoBERTa模型在BERT的基础上的改进与架构说明,RoBERTa模型的搭建。在BERT的基础上,RoBERTa进行了深度优化和改进,使其在多项NLP任务中取得了卓越的成绩。接下来,我们将详细了解RoBERTa的原理、架构以及它在BERT…

解决Oracle VM VirtualBox无法与Windows互相复制粘贴的教程

说明:要实现从Windows上复制然后在VM VirtualBox上粘贴,必须要在VM VirtualBox上下载virtualbox-guest-dkms 第一步: 第二步: 按CtrlALTT打开命令终端输入 sudo apt-get install virtualbox-guest-dkms 然后重启 第三步&…

Docusaurus和HelpLook:谁更适合做知识库管理

在当今信息化时代,企业建立和维护一个好用、高效、能持续更新的知识库,对内部沟通、团队合作和客户服务都很重要。Docusaurus和HelpLook都是很好的知识库管理工具,但它们的功能和优势各有不同。跟着我一起深入了解两个工具之间的优劣&#xf…

权限管理系统-0.5.0

六、审批管理模块 审批管理模块包括审批类型和审批模板&#xff0c;审批类型如&#xff1a;出勤、人事、财务等&#xff0c;审批模板如&#xff1a;加班、请假等具体业务。 6.1 引入依赖 在项目中引入activiti7的相关依赖&#xff1a; <!--引入activiti的springboot启动器…

【STM32嵌入式系统设计与开发】——8usart(串口通讯实验)

这里写目录标题 一、任务描述二、任务实施1、ActiveBeep工程文件夹创建2、函数编辑&#xff08;1&#xff09;主函数编辑&#xff08;2&#xff09;USART1初始化函数(usart1_init())&#xff08;3&#xff09;USART数据发送函数&#xff08; USART1_Send_Data&#xff08;&…

iOS报错-Command PhaseScriptExecution failed with a nonzero exit code

问题&#xff1a;iOS debug没问题&#xff0c;一打包就报错&#xff1a; Command PhaseScriptExecution failed with a nonzero exit code 解决方法如下&#xff1a; 在项目的Pods目录下&#xff0c;找到Targets Support Files->Pods-xxxx-frameworks.sh 如下&#xff1a…

【python】flask基于cookie和session来实现会话控制

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

小迪安全43WEB 攻防-通用漏洞任意文件下载删除重装敏感读取黑白审计

#知识点&#xff1a; 1、文件操作类安全问题 2、文件下载&删除&读取 3、白盒&黑盒&探针分析 #详细点&#xff1a; 文件读取&#xff1a;基本和文件下载利用类似 文件下载&#xff1a;利用下载获取源码或数据库配置文件及系统敏感文件为后续出思路 …

第四百一十六回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"自定义标题栏"相关的内容&#xff0c;本章回中将介绍自定义Action菜单.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在这里提到的…

走进jvm之垃圾回收器篇

这里我想首先说明一下&#xff0c;虽然我们经常会拿垃圾回收器来做比较&#xff0c;虽然想挑选一个最好的收集器出来&#xff0c;但是目前也没有说哪一款收集器是完美的&#xff0c;更不存在万能的收集器&#xff0c;我们也只是对收集器选择最适合场景的一个收集器。 那么作者将…

WP免费主题2个分享给需要的人

免费wordpress主题 粉色高端大气的免费wordpress主题&#xff0c;用免费的主题也可以搭建wordpress网站。 https://www.wpniu.com/themes/12.html 免费WP模板 绿色清爽的wordpress建站模板&#xff0c;用免费的WP模板也可以搭建出精美网站。 https://www.wpniu.com/themes/…

必学干货!使用Python正则表达式匹配多个字符

1.匹配多个字符 今天我们来聊一聊正则表达式中一个很强大的功能&#xff1a;匹配多个字符&#xff01;正则表达式是一个非常强大的工具&#xff0c;可以帮助我们轻松地处理和匹配字符串。通过使用不同的符号和技巧&#xff0c;我们可以匹配多个字符&#xff0c;从而更加灵活地…

【网页实战项目设计】基于SSM的医院预约挂号系统

基于SSM的医院预约挂号系统 项目截图 开发环境与技术框架 开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&a…

计算机三级——网络技术(综合题第三题)

DHCP报文分析常用命令及英文单词的含义 Source&#xff1a;源地址(缩写&#xff1a;Src)Destitation&#xff1a;目的地址(缩写&#xff1a;Dst)ipconfig/all&#xff1a;查看客户机获得的IP地址及其他配置情况ipconfig/release&#xff1a;释放获得的地址&#xff08;源地址 …