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

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:

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

常用文件怎么做成二维码?文件转二维码的制作教程

现在扫码查看或者下载文件的使用场景越来越多,这种方式不仅有效的提高文件的安全性,还有效提高了文件传输的便捷性,所以现在将文件转二维码是一种很流行的展现方式。那么比较常用的文件格式有pdf、excel、word、ppt等,这些格式的文…

Chain of Verification-CoVe减少LLM中的幻觉现象

Chain-Of-Verification Reduces Hallucination In Large Language Models 在大型语言模型中,产生看似合理但实际上错误的事实信息,即幻觉,是一个未解决的问题。我们研究了语言模型在给出回答时进行深思以纠正错误的能力。我们开发了Chain-of…

引入AGV无人搬运叉车前应该进行的有效沟通

agv 随着科技的快速发展,无人化、智能化成为物流行业发展的新趋势。其中,AGV无人搬运车以其高效、准确、灵活的特点,逐渐成为物流行业的超能英雄。AGV小车小车又叫无人搬运车,自动导引车,移动搬运机器人,指…

接口测试、postman、测试点提取【主】

接口测试是测试系统组件间接口的一种测试 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点 测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系 文章目录 HTTP接口 & Web Service接口RESTful接口…

硬盘哨兵Hard Disk Sentinel Pro V6.20.0.0 便携版

Hard Disk Sentinel 是一款功能强大的硬盘监控和分析软件,专为 Windows 用户设计。它可以实时监测硬盘驱动器(HDD)、固态硬盘(SSD)、混合硬盘(SSHD)、NVMe SSD、RAID 数组和外部 RAID 盒子的健康…

生产力工具|GitHub的使用与将其应用到生产中

一、GitHub的相关介绍 (一)GitHub平台介绍 GitHub (GitHub: Let’s build from here GitHub)是一个面向开源及私有软件项目的托管平台,它提供了版本控制功能和协作特性,使得团队成员可以共同协作开发、合…

docker 容器挂掉,无法exec 进入bash 怎么修改容器里的文件

在使用tdengine 数据库时出现了 TDengine.Driver.TDengineError:“code:[0x334],error:Out of dnodes” 查找文档发现需要修改一个配置文件 。 /etc/taos/taos.cfg 中的 supportVnodes 参数 于是修改 保存。然后,运行出错。 03/21 06:56:27.986498 00000064 …

如何设置IDEA远程连接服务器开发环境并结合cpolar实现ssh远程开发

文章目录 1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 本文主要介绍如何在IDEA中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接&#xf…

微信向量检索分析一体化数仓探索:OLAP For Embedding

作者:WeOLAP 团队 数据挖掘团队 擅长 OLAP 分析的 ClickHouse 不仅可以用于 vector search,还可承担起整条 embedding 的加工处理工作,All in one Pipeline 也让速度远超传统批处理框架数倍;检索性能虽无法与专业 sim 检索服务相媲美&#xf…

7-9 用天平找小球

题目链接&#xff1a;7-9 用天平找小球 一. 题目 1. 题目 2. 输入输出样例 3. 限制 二、代码 1. 代码实现 #include <stdio.h>int main(void) {unsigned int a,b,c;char ch A;if (!scanf("%d %d %d", &a, &b, &c)) {return -1;}if (a b) {ch…

17.WEB渗透测试--Kali Linux(五)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;16.WEB渗透测试--Kali Linux&#xff08;四&#xff09;-CSDN博客 1.ettercap简介与使用…

怎么做扫码签到小程序_探索未来会议签到新模式

在这个快节奏的时代&#xff0c;每一次会议都是一次思想的碰撞、智慧的交流。然而&#xff0c;传统的签到方式往往繁琐低效&#xff0c;不仅浪费了宝贵的时间&#xff0c;还可能影响会议的整体氛围。如今&#xff0c;随着科技的飞速发展&#xff0c;扫码签到小程序应运而生&…

easyExcel-读取合并单元格

目录 前言一、情景介绍二、问题分析三、代码实现四、测试方法五、小结 前言 Java-easyExcel入门教程&#xff1a;https://blog.csdn.net/xhmico/article/details/134714025 之前有介绍过如何使用 easyExcel&#xff0c;以及写了两个入门的 demo &#xff0c;这两个 demo 能应…

性能测试 —— JMeter内存溢出及解决方法!

jmeter是一个基于Java的开源性能测试工具&#xff0c;它可以用来测试静态和动态的资源&#xff0c;例如Web应用、数据库、FTP服务器等。但是&#xff0c;使用jmeter进行压力测试时&#xff0c;有时候可能会遇到内存溢出的问题&#xff0c;导致测试失败或者卡顿。 内存溢出是指…

jenkins配置源码管理的git地址时,怎么使用不了 credential凭证信息

前提 Jenkins使用docker部署 问题 &#xff08;在jenlins中设置凭证的方式&#xff09;在Jenkins的任务重配置Git地址&#xff0c;并且设置了git凭证,但是验证不通过&#xff0c;报错; 无法连接仓库&#xff1a;Command "git ls-remote -h -- http://192.1XX.0.98:X02/…

Windows系统部署eXtplorer文件管理器结合内网穿透构建私人云存储服务器

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件&#xff0c;是互联网最重要的应用之一&#xff0c;无论是…

程序猿成长之路之番外篇——矩阵算法

今天在复习线性代数知识的过程中&#xff0c;用java语言简单实现了一下矩阵算法。 数学知识回顾 1.什么是矩阵 在数学领域&#xff0c;矩阵就像一个表格&#xff0c;将数据排放进去&#xff0c;形成一个矩形。我们习惯用一个大括号把矩阵内的数据包括进来。 1.矩阵 在数学领域…

对JS文件进行压缩未通过,对WXML文件进行压缩未通过 问题解决

问题描述 在使用uniapp 开发微信小程序&#xff0c;进行上架发布时 代码质量栏 出现对JS文件进行压缩未通过&#xff0c;对WXML文件进行压缩未通过 问题。 虽然现实代码上传成功&#xff0c;但是作为一个合格的猿人&#xff0c;肯定是要解决的。那么如何解决呢&#xff1f; …

气压传感器BMP180的简单应用

文章目录 一、BMP1801.介绍2.主要特点&#xff1a;3. 典型应用&#xff1a;4. 原理图5. 典型应用电路6. 测量流程7. 工作模式 二、软件1.初始化2.获取原始温度3.获取真实温度4.获取原始气压5.获取真实气压6.海拔高度的换算 三、总结 一、BMP180 1.介绍 BMP180是一款高精度、小…

int数组最大能设置为多长?以及能存储的数字为多大?

在编译器里&#xff0c;每种类型的变量定义数组的时候都有一个数组大小&#xff0c;而这个大小对于不同的变量而言有不同的上限&#xff0c;这里的最大长度更准确的来说应该是系统堆的最大值。 一个字符占1byte大小&#xff0c;8位&#xff0c;所以&#xff0c;理论上&#xff…