soapUI简介、安装使用教程、接口(性能)测试

article/2025/10/19 20:39:14

 一、soapUI简介

SOAP:

      WebService通过Http协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息头的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用WebService。

  SOAP协议 = HTTP协议 + XML数据格式

  SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。打个比喻:HTTP就是普通公路,XML就是中间的绿色隔离带和两边的防护栏,SOAP就是普通公路经过加隔离带和防护栏改造过的高速公路。

WSDL:

        好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。 WebService也一样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。

       WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。

       WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。

  WebService的工作调用原理:对客户端而言,我们给这各类WebService客户端API传递wsdl文件的url地址,这些API就会创建出底层的代理类,我调用这些代理,就可以访问到webservice服务。代理类把客户端的方法调用变成soap格式的请求数据再通过HTTP协议发出去,并把接收到的soap数据变成返回值返回。对服务端而言,各类WebService框架的本质就是一个大大的Servlet,当远程调用客户端给它通过http协议发送过来soap格式的请求数据时,它分析这个数据,就知道要调用哪个java类的哪个方法,于是去查找或创建这个对象,并调用其方法,再把方法返回的结果包装成soap格式的数据,通过http响应消息回给客户端。

   SoapUI是专门针对webservice接口的测试工具,在对同一个webservice接口进行测试时,SoaqUI表现出来的性能更优越、更真实、更接近地反映接口的性能指标,对于SoapUI来说,提供的结果数据分析不如LR那么详细与全面。

(以上内容摘自CSDN)

 二、安装

SoapUI-5.3.0     下载地址:https://download.csdn.net/download/JacaCao/12578536

说明:soapUI 分开源版和专业版,开源版(OpenSource)可以免费下载和使用,专业版(Pro)需要进行购买,当然专业版提供的功能更多。如果有要求的话可以去官网进行下载。

SoapUI官网下载地址 :  https://www.soapui.org/downloads/soapui/

三、创建 SOAP 项目

1.打开 soapUI 工具,创建一个SOAP项目(在窗口左侧导航栏,右键 Projects >>> New SOAP Project)。 

2.添加SOAP接口

以国内手机号码归属地查询接口为例:

Project Name:MobileCodeWS为项目名称。

Initial WSDL:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl 为接口URL。

点击 OK 按钮,创建项目完成。

3.依次展开:MobileCodeWS>>>MobileCodeWSSoap>>>getMobileCodeInfo/,双击 Request 1,填写接口查询的手机号。

4.请求接口详细配置信息如下(将 183xxxxxxxx 替换为需要查询的手机号。):

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:web="http://WebXml.com.cn/"><soap:Header/><soap:Body><web:getMobileCodeInfo><!--Optional:--><web:mobileCode>183xxxxxxxx</web:mobileCode><!--Optional:--><web:userID></web:userID></web:getMobileCodeInfo></soap:Body>
</soap:Envelope>

5.运行测试(点击 Request 1 窗口左上角的绿色 运行 按钮,发送 SOAP 请求。右侧窗口将会显示接口返回结果。)

四、创建 REST 项目

1.打开 soapUI 工具。创建一个 REST 项目(在窗口左侧导航栏,右键 Projects >>> New REST Project。)。

2.添加REST接口

以网站《快递100》查看快递状态接口为例。

URI:http://www.kuaidi100.com/autonumber/autoComNum?text=761173748367为接口URI。

点击 OK 按钮,创建项目完成。

3.依次展开:REST Project 1>>>http://www.kuaidi100.com>>>AutoComNum>>>AutoComNum 1>>>Request 1 , 为 REST 接口窗口。

4.点击 Request 1 窗口中左上角的绿色 运行 按钮,右侧窗口会显示接口查询结果。

五、soapUI设置Auth 

设置用户认证(Auth)

当我们请求一个接口时,一般需要认证,认证是判断用户是否有请求权限的常用手段。

1.点击  “Auth” 按钮,Authoriaztion 选项中选择 “add New Authoriaztion” ,在弹出的窗口中 Type 选择 “Basic” 选项,点击 “OK” 按钮。

2.添加认证用户。

3.填写用户认证 Username 和 Password ,勾选 “Authenticate pre-emptvely” 选项。

Username:用于填写基本认证的用户名。

Password:用于填写基本认证的密码。

Domain:域名是基本认证的可选项,设置为空。

Pre-emptive auth:设置定义认证的行为。

  • Use global preference :用于定义HTTP设置为全局首选项。
  • Authenticate pre-emptively:仅适用于此请求,不需要等待身份验证质询时发送凭据。

六、soapUI创建性能测试

1.创建测试用例(右键点击 “requests 1” 请求,选择 “Add to TestCase” ...,如下图。)。


2.默认设置测试套件名和测试用例名分别为:TestSuite 1和TestCase 1,添加 Requests 到测试用例。

3.点击 “OK” 完成测试用例的创建(右键点击 Load Tests (1)” >>> “New LoadTest , 创建完成)。

4.运行性能测试(在 “LoadTest 1” 窗口,点解右上角的绿色按钮,运行性能测试。)。

5.参数说明

Limit:表示要持续执行时间,秒为单位,默认是60。

Threads:负载测试所用的线程数,性能测试中所说的并发数。默认是5。

TestDelay:设置测试时线程的休眠时间,即在完成一次完整的测试用例后,开始下一次执行时,线程的休眠时间,以毫秒为单位,(1000毫秒等于1秒),默认是1000毫秒。

Random:该值得设置,于testDelay的设置结合在一起,它表示休眠的时间会在TestDelay*(1-0.5)=100毫秒,和testdelay*(1+0.5)=300毫秒之捡波动。此处如果设置为0,则表示test delay的值不会随意变化,直接是初始设置的毫秒数。

补充

     如果有兴趣的小伙伴想进一步了解相关详细内容,推荐如下链接:

SoapUI的参数说明:http://www.soapui.org/Working-with-soapUI/preferences.html

SoapUI 使用说明:http://www.51testing.com/ddimg/uploadsoft/20100204/SoapUI.pdf


http://chatgpt.dhexx.cn/article/sTi7ns9D.shtml

相关文章

关于soapUi工具的安装使用教程

在测试的工作中&#xff0c;测试的小伙伴们或多或少了解过soapUi这款工具&#xff0c;就实际使用过程中&#xff0c;简单说说这款工具。 1安装和破译 1.1下载 这里下载的是5.1.2pro版 下载路径&#xff1a; http://dl.eviware.com/list_soapui2.html?_ga1.16http://dl.eviwar…

soapUI工具使用方法、简介、接口测试

简单总结一下步骤&#xff1a; 打开SoapUI5.2.1——新建project——右键 project1——选择 add WSDL——WSDL Location输入地址&#xff08;也就是别人给你的接口地址&#xff0c;可以分为测试地址&#xff0c;正式环境地址等&#xff09;——点击OK按钮——弹出测试报文&…

SoapUI 入门指南

一、SoapUI 入门指南 1.1 什么是 SOAP UI 由于实际项目中&#xff0c;大多数 Web 服务通过接口调用实现&#xff0c;一般不会提供界面让最终用户或测试人员直接使用&#xff0c;因此给测试工作带来了麻烦&#xff0c;测试人员不得不自己编写程序来测试&#xff0c;这就是要求测…

SoapUI使用教程

一、简介 soapui&#xff1a;常用的接口测试工具&#xff0c;掌握了能更好进行接口的开发。 二、Http接口调用 1.创建项目 2.输入http请求地址 3.选择对应项目的request&#xff0c;输入信息发送请求 绿色三角形请求运行 三、Webservice接口调用 web service分两大类架构一种…

java增强for循环对比_foreach(增强for循环)和for的区别

首先说一下foreach有的也叫增强for循环,foreach其实是for循环的一个特殊简化版。 再说一下foreach的书写格式: for(元素类型 元素名称 : 遍历数组(集合)(或者能进行迭代的)){语句 } foreach虽然是for循环的简化版本,但是并不是说foreach就比for更好用,foreach适用于循环次…

数组增强for循环遍历

for循环的一般使用方法 > for ( 初始化语句 ; 控制语句 ; 迭代语句){ 循环体; } 在增强for循环中的遍历方式 一维数组增强for循环遍历&#xff1a; public class ArraysReplace {public static void main(String[] args) {//创建长度为10的一维数组int[] arr new int[10]…

Java for循环和增强for循环

For循环 虽然所有循环结构都可以用while或者do...while表示&#xff0c;但Java提供了另一种语句——for循环&#xff0c;使一些循环结构变得更加简单 for循环语句是支持迭代的一种通用结构&#xff0c;是最有效&#xff0c;最灵活的循环结构 for循环执行的次数是在执行前就确…

Java增强 for 循环

Java 增强 for 循环 Java5 所引入的一种主要用于数组的增强型for循环。&#xff08;可用来遍历数组&#xff09; Java 增强for循环语法如下&#xff1a; for&#xff08;声明语句 &#xff1a; 表达式&#xff09; {//代码句子 }声明语句&#xff1a; 声明新的局部变量&…

增强型for循环的使用,看这篇就够了

从开始接触Java编程时&#xff0c;简单的循环遍历&#xff08;for、while、do…while&#xff09;都是与其他编程语言&#xff08;C语言、C… …&#xff09;大致一样的&#xff0c;这些我们自己都看得懂&#xff0c;当然自己也会写。但是学习到后面的课程&#xff0c;当听到一…

Linux安装MySQL数据库(图文详细)

Linux安装MySQL数据库 1、通过 Xftp 将 MySQL 安装包拷贝到 LinuxMySQL下载地址cd 到 local 文件夹创建mysql文件夹把文件拖入mysql文件夹ls 查看 2、解压缩输入如下指令解压后如图 3、安装 common、libs、client、server删除自带的 mariadb 4、初始化 MySQL5、授权防火墙6、查…

Linux安装mysql并配置远程连接

1.mysql官网下载安装包 https://www.mysql.com/ 最好下载 .gz的安装包 2查看是否安装mariadb rpm -qa | grep mariadb 卸载mariadb rpm -e --nodeps mariadb-libs-5-xxx#安装包名 注意自己的安装包名&#xff01;&#xff01;&#xff01; 安装MySQL依赖包 libaio yum instal…

linux安装Mysql及使用详解(Centos 7.4)

1.官网路径&#xff1a; &#xff08;1&#xff09;个人选择版本5.7.22 &#xff08;2&#xff09;因本地网速较慢&#xff0c;选择wget直接下载到linux服务器上。 &#xff08;3&#xff09;Mysql下载url为&#xff1a;https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7…

Linux安装MySQL 5.7

一、下载MySQL 官网地址 下载&#xff1a; mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz 二、安装MySQL 1.1、连接Shell: cd /usr/local/ #切换到此目录下 1.2、把MySQL包传到shell 1.2.1、 1.2.2、1.3、解压&#xff1a; 1、tar -xvf mysql-5.7.38-linux-glibc2.12-x86_64.…

Linux安装mysql(yum安装)

1、首先查看是否已经安装mysql rpm -qa | grep mysql 如果存在&#xff0c;则通过以下命令进行删除。 rpm -e 【具体的文件名】 2、下载MySQL [rootVM-20-16-centos ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 3、安装mysql&a…

Linux安装Mysql操作步骤详解

目录 1. 检测当前系统中是否安装了MySql数据库 2. 使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux 3. 解压并解包到/usr/local/mysql&#xff08;便于区分&#xff09; 第一步&#xff1a;将包先移动到该目录下 第二步&#xff1a;解压解包 第三步&#xff1a…

Linux安装MySQL图文教程(详细)

2、安装MySQL图文教程 前提下载&#xff1a;mysql安装包rpm包 第一步&#xff1a;解压到usr/local/mysql tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql第二步&#xff1a;首先检查当前服务器上是否已经安装有mysql&#xff1a; rpm -qa|grep -i …

Linux 安装Mysql

1、查看是否已经安装 Mysql rpm -qa | grep mysql 2、如果不为空则删除 rpm -e xxx 3、下载官方 Mysql 包 mysql官网 4、上传后解压&#xff08;解压后安装包可删除&#xff09; tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz 5、检查是否有mysql用户组和mysql…

linux 安装mysql 图文详解全过程

第一步&#xff1a;登录linux服务器 执行命令下载mysql : wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-i686.tar.gz mysql官网MySQL :: Download MySQL Community Server (Archived Versions) 也可以手动下载上传到服务器目录&#xff0…

Linux 安装通过命令安装mysql

安装 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum update yum install mysql-server权限设置 chown -R mysql:mysql /var/lib/mysql/ chown -R 777 /var/lib/mysql/ &#xff08;安装目录…

Linux安装MySQL(源码安装)

文章目录 一、下载二、最小化安装配置三、MySQL的安装的几种方式1.MySQL安装方式2. 三种安装方式的区别 四、MySQL的GLIBC版本安装1. 上传软件包解压2. 软件安装3. MySQL GLIBC版本后续配置 五、MySQL的源码编译安装1. 安装需求2. MySQL的源码编译安装3. 编译报错常见问题解析4…