当前位置: 首页 > news >正文

WebService接口测试

WebService的理解

WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远程调用技术。

特点:

客户端发送的请求主体内容(请求报文)的格式为XML格式

接口返回的响应主体内容(响应报文)的格式为XML格式

WSDL的介绍

就是WebService接口对应的WSDL文件,该文件通过xml格式说明如何调用,可以看作WebService的接口文档(使用说明书)。比如:

SOAP的介绍

Soap就是通信协议,该协议是基于XML的数据结构和超文本传输协议(HTTP)的。

注册网站会员

开通天气查询WebService接口的使用权限

JAVA程序测试WebService接口

这里的Java程序实际上就是一个WebService客户端而已。

步骤一、下载天气查询WebService接口WSDL文件

下载地址为:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl

注意:下载好后,该文件需要更改的。如何修改请参考如下文档:

webservice客户端异常( undefinedelement declaration 's:schema')_binbinxyz的博客-CSDN博客

步骤二、根据WebService接口的WSDL文件在本地生成对应的JAVA代码

附截图:

步骤三、导入相关的jar包

jar包真的比较多。可以参考如下文档:

CXF开发webservice需要的最少jar包,CXF发布和调用客户端代码 - 鬼烧java - ITeye博客

附截图:

步骤四、写一个JAVA客户端测试该接口的调用

这里的测试代码比较简单,没有调JUnit框架的验证方法和hamcrest框架的匹配方法。

代码如下:

package day02;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.junit.Test;
import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWSSoap;public class WeatherTest2 {@Testpublicvoid test(){//JaxWsProxyFactoryBean bean = newJaxWsProxyFactoryBean();//bean.setAddress("http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl");//bean.setServiceClass(WeatherWSSoap.class);//WeatherWSSoap service = (WeatherWSSoap)bean.create();ArrayOfString s = service.getWeather("上海", "918139fc750c4dc58932179efc8d378b");//System.out.println(s.getString());}
}
步骤五、运行该JAVA程序

附截图:

SoapUI工具的介绍

此处省略N个字。

使用SoapUI工具测试WebService接口

步骤一、安装SoapUI

步骤二、创建一个空的工程

步骤三、选中该工程,导入WSDL

步骤四、打开getWeather的请求报文,修改citycode和userid这两个参数
步骤五、发送请求

附截图:

 

学习上

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

http://www.lryc.cn/news/301726.html

相关文章:

  • 语音唤醒——
  • typeScript 类型推论
  • JavaScript 设计模式之代理模式
  • JavaScript 对象判断
  • Android下SF合成流程重学习之onMessageInvalidate
  • 基于SpringBoot+WebSocket+Spring Task的前后端分离外卖项目-订单管理(十七)
  • 【Java多线程进阶】JUC常见类以及CAS机制
  • Python算法100例-1.7 最佳存款方案
  • ADO世界之FIRST
  • 【COMP337 LEC 5-6】
  • 力扣72. 编辑距离(动态规划)
  • linux tree命令找不到:如何使用Linux Tree命令查看文件系统结构
  • OJ_最大逆序差
  • MyBatis-Plus 实体类里写正则让字段phone限制为手机格式
  • K8S之运用污点、容忍度设置Pod的调度约束
  • Sora爆火,普通人的10个赚钱机会
  • 【C++】C++入门—初识构造函数 , 析构函数,拷贝构造函数,赋值运算符重载
  • 沁恒CH32V30X学习笔记04--外部中断
  • 基础IO[三]
  • Leetcode 392 判断子序列
  • 基于微信小程序的校园跑腿系统的研究与实现,附源码
  • VTK Python PyQt 监听键盘 控制 Actor 移动 变色
  • 力扣 第 124 场双周赛 解题报告 | 珂学家 | 非常规区间合并
  • 2024年华为OD机试真题-生成哈夫曼树-Java-OD统一考试(C卷)
  • 【实战】二、Jest难点进阶(二) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(六)
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • HAL/LL/STD STM32 U8g2库 +I2C SSD1306/sh1106 WouoUI磁贴案例
  • 手机如何改自己的ip地址
  • ajax函数库axios基本使用
  • 【nginx实践连载-4】彻底卸载Nginx(Ubuntu)