教你用soapUI测试web服务(一)

五六年前我测试了自己的第一个web服务。该服务是一个更大的系统重写的一部分。在这一阶段,我们用web服务集成了一个遗留主机应用和一个新的web平台。我们在测试办公方面的web服务有若干工具:SoapScope ,一个国产的基于浏览器的测试工具,我们当中还有一些人直接编写Java或Ruby代码进行测试。我还记得,那时候就在想,应该有更容易的测试方式才对。

  那时候项目开展有两个星期了,当时我正在设法获取几个可以测试服务的Ruby库,项目组里面有人向我推荐了soapUI ,那时候soapUI还很年轻——只有基本功能和性能测试能力,且还没有专业版。从我第一次使用soapUI开始,它就成为了我测试服务的缺省选择。

   现在,soapUI除了开源版本以外还有商业的专用版。它们提供了对WS、REST及以HTTP为基础的服务的支持,还有最近宣布的对JMS、AMF及 JDBC的支持。在本文中,我们来看一个对WSDL服务进行功能和性能测试的例子。在将来的文章中我们还将讨论负载测试、web服务模拟以及与JUnit 的集成。对于这些文章中所涉及的例子应用,我们都会考虑Atlassian JIRAsoap web服务。这是一个很好的、非凡的界面,也有一个公开的例子。

  创建第一个项目

  第一次打开soapUI时,不会有工程加载进来。要想创建新工程的话,右键单击Project图标然后选择New soapUI Project,如下图1所示:

图1:在soapUI中创建一个新项目。

图1:在soapUI中创建一个新项目。

  第一步:在soapUI中创建一个新项目

   这会弹出New soapUI Project的对话框,如下图2所示。输入项目的名字及所建项目的初始WSDL地址。如果WSDL变了,你可以在后面导入更新—不要以为拿到最后版本才 能开始。在本例中,我会使用自己的JIRAweb服务实现以便可以执行测试。如果你要跟着做的话,可以将你的项目指向Atlassian的例子,该例子可 在此处找到。

图2: 命名项目并导入初始WSDL。

图2: 命名项目并导入初始WSDL。

  第二步:命名项目并导入初始WSDL

   你会看到几个复选框,让你选择在项目创建过程中由soapUI自动执行的任务。若是想全部都选上,欢迎,不过通常我只会选“为所有的操作创建样例请求 吗?(Create sample requests for all operations?)”这个复选框。一旦完成新项目信息的输入,点击OK按钮。

图3:显示在项目下面的各种JIRA请求,有一个请求窗口在soapUI主工作区打开。

图3:显示在项目下面的各种JIRA请求,有一个请求窗口在soapUI主工作区打开。

  项目加载完成后,你应该看一看所有不同的请求的细节,这些细节均在图3中项目底下的WSDL定义中显示。要想观看这些请求细节,你可以展开请求并双击图中所示的“Request 1”按钮。应该就能打开soapUI主工作区的一个窗口。

  第三步:显示在项目下面的各种JIRA请求,在soapUI主工作区打开一个请求窗口

图4:用绿色箭头提交一项服务请求。

图4:用绿色箭头提交一项服务请求。

  要想手工提交请求给web服务,只需点击请求窗口中的绿色箭头—如图4所示。

  第四步:用绿色箭头将请求提交给服务。
 
  如果你对这个请求—addVersion请求执行上述动作,在没有做出任何改变的情况下,你会得到如下表1所示的包含有例外的响应:

  表 1:例外:未传递合法参数数据。

以下是引用片段:
…
<faultcode>soapenv:Server.userException</faultcode>
         <faultstring>java.lang.NumberFormatException: Invalid boolean</faultstring>
…

  这一例外会得到返回,有几个原因。首先,我们还没有登录进去。如果你向下滚动我们项目已有的请求,就会看到有一个登录请求。其次,请求中所有的数据值上面都有问号,正如下面的列表2所示。在提交任何请求之前,你应该想要输入测试值到看到出现有问号的那些字域中去。

  列表2:缺省情况下,请求的值不会弹出。

以下是引用片段:
…
<in0 xsi:type="xsd:string">?</in0>
         <in1 xsi:type="xsd:string">?</in1>
         <in2 xsi:type="bean:RemoteVersion" xmlns:bean="http://beans.soap.rpc.jira.atlassian.com">
            <id xsi:type="xsd:string">?</id>
            <name xsi:type="xsd:string">?</name>
            <archived xsi:type="xsd:boolean">?</archived>
            <releaseDate xsi:type="xsd:dateTime">?</releaseDate>
            <released xsi:type="xsd:boolean">?</released>
            <sequence xsi:type="xsd:long">?</sequence>
         </in2>
…

  这时候,你可以浏览任何的请求;查看不同的请求参数;改变请求并人工运行来看那些响应。总而言之,你应该可以浏览web服务并与之交互。

soapUI简介、安装使用教程、接口(性能)测试 一、soapUI简介 SOAP: WebService通过Http协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息头的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用WebService。 SOAP协议= HTTP协议+ XML数据格式 SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,... 阅读详情

相关推荐

KSO-SAP ABAP 创建webservice服务,并用soapui测试

KSO-SAP ABAP 创建webserWeb Service是一种基于网络的、 使得Web Service能与其他兼容的组件进行交互操作。以下是Web Service的 。

kso的博客 1338

SOAPUI接口测试http协议详细测试过程

SOAPUI接口测试http协议详细测试过程

爱笑的小乐 8386

SoapUI:精通Web服务测试与功能验证

SoapUI 是一款开源的 Web 服务测试工具,它为开发者和测试人员提供了一个强大的平台来测试 SOAP 和 REST API。其主要功能包括但不限于消息传递、负载和安全测试。SoapUI 可以帮助确保 Web 服务能够按照既定的要求正确地响应和执行。通过 SoapUI,用户可以轻松创建、执行和记录测试案例,无需编写复杂的测试脚本。它支持广泛的 Web 服务标准,并能够与多种流行的持续集成工具集成,如 Jenkins。借助 SoapUI,测试人员能够快速定位问题,从而提高整体的软件质量和开发效率。

weixin_42298254的博客 1069

使用SoapUI 测试Web Service

如何测试写好的Webservice?你当然可以写代码来测试,但还是太麻烦,你得花时间去学习各语言的关于Webservice调用的相关API。这里推荐一个Webservice开发的必备工具- SoapUI,无须了解底层细节,就能快速测试你的Webservice开发的是否正确。 SoapUI是一个开源测试工具,通过Soap/HTTP来检查、调用、实现Web Service的功能,而且还能对Webser...

jishublog 684

SoapUI:全面的Web服务测试解决方案

Web服务已成为IT行业中广泛采用的一种技术,它允许不同系统之间的通信和数据交换。在当今的快速开发周期中,保证Web服务的质量是至关重要的。为了满足这一需求,测试工具如SoapUI应运而生。本章节旨在简要介绍Web服务测试的基本概念、目的和测试工具的重要性,为深入理解和掌握后续章节的具体实践和技巧打下坚实基础。Web服务测试不仅包括功能验证,还涉及性能评估、安全性测试和负载模拟等多方面。

weixin_42389113的博客 1014

SoapUI 4.6.4:Web服务测试的全面解决方案

Webservice 是一种构建于开放协议(如HTTP或HTTPS)上的分布式计算架构。它允许不同应用系统之间进行互操作,实现跨平台、跨语言的通信。Webservice 使得企业能够整合内部与外部的系统,通过网络提供服务接口,简化了业务流程并促进了应用程序间的集成。SOAP(Simple Object Access Protocol)是一个基于XML的协议,用于在网络中进行分布式对象的通信。它定义了消息的格式以及如何在Web服务器之间通过HTTP等协议交换这些消息。

weixin_28988985的博客 997

在SoapUI调用webservice传入DateTime字符串参数报“不是有效的 AllXsd 值”的问题

在SoapUI中设置传入参数为我们常用的日期格式 yyyy-MM-dd HH:mm:ss.fff 如:2014-11-11 11:11:11.111会报错, 错误信息如下: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XM...

weixin_30740295的博客 889

跨平台Web服务器测试工具:SoapUI64实战指南

Web服务器测试是确保在线服务可靠性和性能的关键环节。对于IT专业人士而言,理解并运用合适的测试工具能够提升工作效率和结果质量。本章将概述Web服务器测试工具的基础知识,包括其功能、操作流程和应用场景。我们将从工具的基本分类讲起,进一步探讨每种工具如何适应不同的测试需求,以及如何在实际工作流程中发挥作用。通过本章的学习,读者将能够为日常的Web服务器测试任务做出明智的工具选择,并为后续章节中更深入的测试策略与方法打下坚实的基础。

weixin_42181686的博客 1115

SoapUI 入门指南

  由于实际项目中,大多数 Web 服务通过接口调用实现,一般不会提供界面让最终用户或测试人员直接使用,因此给测试工作带来了麻烦,测试人员不得不自己编写程序来测试,这就是要求测试人员要花费很大的精力去了解底层的接口、调用关系和详细的协议,导致其不能把注意力集中到测试中。SoapUI 是针对这种情况开发的一个工具,用户可以在 SoapUI 中通过简单的操作完成复杂的测试。   SoapUI 是一个开源测试工具,专为开发人员和测试人员而构建,通过 soap、http 用来检查、调用、实现Web Service的

独泪了无痕 8593

SOAPUI-API测试入门指南(中文)

soapUI用于接口通讯工具,支持通信协议很丰富,自动化测试

webAPI调试工具SoapUI-x64

webAPI调试工具SoapUI-x64

SoapUI WebService 接口测试

文章目录一、SoapUI二、SoapUI测试REST类型接口1. REST 协议类型的测试2. POST接口测试(1) 简单的某个接口测试(2) 组织多条用例测试3. GET接口测试三、SoapUI测试SOAP类型接口1. SOAP 协议类型的测试2. 测试外部系统接口的文档3. 测试业务4. SOAP请求与响应源码5. 同理可测试其他Web服务接口四、博主原创手动码字,喜欢记得收藏点赞 一、SoapUI 先引用 SoapUI 官网一段官方介绍作为开篇 无论是开源的还是商业的,SoapUI 测试工具都可以

崔同学的博客 6807

freeswitch系列二 kamailio 5.0安装及实现kamailio集成freeswitch

kamailio是个纯粹的SIP服务器。本文介绍先如何在debian8下安装debian5.0,然后详细介绍如何实现使用kamailio做freeswitch均衡负载。kamailio同时实现做为代理服务器、注册服务器、重定向服务器。

不积跬步无以至千里; 不积小流无以成江海 1万+

SoapUI 结合 Postman 测试 WebService 协议

WebService 是一种基于标准的 Web 应用程序接口,允许不同系统之间通过网络进行通信和数据交换。常见的 WebService 协议有 SOAP(Simple Object Access Protocol),它使用 XML 格式进行消息传递,并且通常基于 HTTP 或 HTTPS 进行传输。接下来将介绍如何使用 SoapUI 和 Postman 对 WebService 进行测试。

m0_65026326的博客 1391

Python 爬取新浪财经 7x24(1): 下载数据

前言 最近在做一个需要很多财经数据的项目。于是想到可不可以通过爬虫来解决(尝试白嫖)。 提供财经数据的网站有很多个,其中比较靠谱和更新比较及时的应该是新浪7x24 live数据。 http://finance.sina.com.cn/7x24/?tag=0 这个问题有一定的难度,因为这个网页是动态加载的。每一次只会加载部分数据,而只有拉到底部才可以加载新的数据。 于是乎,我们要做的事情是: 下载数据 保存到数据库 本篇介绍如何下载数据。 代码 闲言少叙书归正文,代码的实现如下: import reque

ZJ_11701的博客 2905

WSL2不能上网,Failed to connect to github.com port 443问题解决方案

WSL2不能上网: 问题:ping外网无效 例如:ping www.baidu.com失败 解决方案: 在wsl: $sudo vi /etc/wsl.conf wsl.conf: [network] generateResolvConf = false 在PowerShell: $sudo vi /etc/etc/resolv.conf resolv.conf: # This file was automatically generated by WSL. To stop automatic gen

Jason_Chen__的博客 9528

SoapUI中文使用手册:提升Web服务开发的利器

SoapUI中文使用手册:提升Web服务开发的利器 【下载地址】关于SoapUI的中文使用手册 《SoapUI中文使用手册》是一份全面详尽的SoapUI调试指南,专为各阶段项目开发人员打造。手册涵盖了SoapUI的基础操作、高级功能以及实际项目中的应用技巧,帮助用户快速上手并深入掌握这一强大工具。无论你是初学者还是经验丰...

gitblog_06720的博客 680

利用大规模生物活性挖掘,计算识别针对癌基因驱动蛋白 EGFR、BRAF 与 CDK4 的高亲和力抑制剂

背景:精准癌症治疗需要小分子抑制剂与致瘤蛋白靶点之间的精确匹配。方法:我们使用 Python 及 ChEMBL 数据库 API 开发了一套计算流程,系统性地筛选针对 EGFR、BRAF 与 CDK4 的高亲和力配体。对 IC50 < 1000 nM 的生物活性进行过滤,并检索候选化合物的分子结构(SMILES)以供后续优化。结果:本研究共识别出 [插入总数] 种独特化合物。其中,对 BRAF 激酶而言,我们挑选了一批 IC50 低至 6.0 nM 的高效实验性化合物。

u012133341的博客 97

使用 soapUI 测试 REST 服务

<br />使用 soapUI 测试 REST 服务文档选项<br />打印本页<br />将此页作为电子邮件发送<br />讨论<br />样例代码<br /><br />级别: 中级<br />刘 欣, 高级软件工程师, IBM<br />张 丽婷, 软件工程师, IBM<br />2009 年 12 月 31 日REST 作为一种针对 Web 应用的全新架构风格,近年变得越来越流行。soapUI 是一个对 Web 服务进行测试的开源工具, 它可以让开发人员直观的测试基于 SOAP 的 Web 服务,

bopzhou 8159

【YoloV12改进策略】基于流形约束超连接(mHC)增强YoloV12全局特征提取能力_独家复现_梁文峰署名论文

论文标题:流形约束超连接 (Manifold-Constrained Hyper-Connections, mHC)核心问题:针对超连接 (Hyper-Connections, HC) 扩展残差流宽度时破坏恒等映射、引发训练不稳定性和高内存开销的问题,提出一种约束性框架。目标:恢复残差连接的稳定性与可扩展性,同时保持HC的性能增益。基准模型:基于DeepSeek-V3的MoE架构,进行了3B、9B、27B模型的实验验证。论文图示mHC 是一个通用的HC扩展框架。

m0_47867638的博客 1360

Harmony:C# 动态代码补丁的5大秘密武器

Harmony 是一个开源库,它允许你在运行时修改托管代码(即使用 .NET 或 Mono 编译的语言编写的应用程序)。它通过利用 AOP(面向切面编程)的思想,可以在不重新编译代码的情况下添加、替换或修改方法的行为。这对于游戏模组(Modding)、插件开发以及调试工具非常有用。安装 Harmony要使用 Harmony,你需要首先安装它。Harmony 作为一个 NuGet 包,可以直接通过 Visual Studio 的 NuGet 包管理器进行安装。安装步骤打开 Visual Studio。

java专栏 1193
上一篇: WebContent 目录 修改为 webRoot
下一篇: 教你用soapUI测试web服务(二)
programloverjack
博客等级 码龄17年 5粉丝 252原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值