一、   建立测试用例

(一)   基本概念

soapUI 中工程的层次结构

  • 项目名称:位于最上层
    (BookStoreTest),项目可以包含多个服务的定义。
  • REST 服务定义:服务其实是对多个 REST
    资源的一个分组,在我们的例子中只有一个服务 BookStoreServie
  • REST 资源定义:具体描述该资源的名称,URI, 参数等属性
  • REST 方法定义:针对每个资源的方法
    (GET,POST,PUT,DELETE 等 ),图
    1 中的方法名就是 GetBookList
  • REST 操作请求定义:基于每个方法,可以有一个或多个请求操作,如 GetBookListRequest,这些请求操作才是真正被
    soapUI 所调用执行的。每个请求可以设置非常丰富的信息,例如 Accept 类型,请求的 Header 信息,运行了该请求以后,就能以各种方式查看运行结果。但是这里还不能加入断言来验证结果
    - 必须在建立测试用例以后才能使用。

 TestCase 定义

  • TestSuite:类似于 Junit 中的测试套件,其中可以加入多个 TestCase
  • TestCase:可以包含多个 TestStep
  • TestStep:一个 TestCase 可以包含多个 TestStep,TestStep 有多种类型,它可以是上面提到一个
    REST 操作请求,也可以是一个 Groovy 的脚本,还可以试一个设置属性的操作。
    TestStep 甚至支持分支跳转操作:根据特定的条件,从一个 step 可以跳转到其他 step, 而不必顺序执行。

(二)  
创建REST 服务

1. 新建一个名为 RESTTest 的项目

2. 在项目上点击右键,选择"New
Rest Service",在对话框中输入 Service Name(AuthenticationService)
和Endpoint(http://qa-server11.achievo.com:33080)

3. 在" AuthenticationService
"上点击右键,选择“New Resource”, 在对话框中输入 Resource Name(Auth) 和
Resource Path (/apis/v1/auth/agency),点击 OK

4. 在弹出的对话框中输入 Method Name:
signon4AgencyUser,HTTP Method 选择默认的 POST, 点击 OK

5. 在“signon4AgencyUser”上点击右键,选择“New
Request”,在对话框中输入“Request login success”

创建一个 REST 服务

(三)  
创建测试用例

主要有两种方式:

  • 自动生成,步骤如下:
    (1). 右键点击一个 REST 服务,例如本例中的"AuthenticationService",
    选择"Generate TestSuite"
    (2). 在弹出的对话框中,保持默认设置, 选择"OK"
    (3). 输入名称 , 例如"AuthenticationService
    TestSuite", 选择"OK"即可。
  • 手工创建,步骤如下:
    (1). 在项目"RESTTest"上点击右键,选择“New
    TestSuite”, 在对话框中输入"AuthenticationService
    TestSuite"
    (2). 在 AuthenticationService TestSuite 上点击右键, 选择"New TestCase", 在对话框中输入"login
    TestCase"
    (3). 然后在左边的导航栏中展开 login TestCase, 在“Test Steps”上点右键,选择 Add
    Step->Rest Test Request
    (4). 在弹出的对话框中选择 “Request login success”

(四)  
添加断言

测试用例建好之后,需要向测试用例中添加
Assertions 以便验证结果的正确性。soapUI 支持
Response SLA, Script Assertion, Contains, XQuery Match, Schema Compliance,
XPath Match 以及 Not Contains 等多种断言来对
response 进行判断来保证对 Web 服务高质量的测试。

点击 TestCase 的添加 Assertions 按钮。 在弹出的 Select
Assertion 窗口中选择 XPath Match 断言,点击
OK。配置 XPath 如下图所示:

(五)  
运行测试用例


二、  
性能测试

性能测试在 soapUI 中称为 Load Test, 针对一个 soapUI 的 TestCase, 可以建立一个或多个 LoadTest, 这些 LoadTest 会自动的 把 TestCase 中的所有步骤都添加到其中, 在运行的时候,soapUI 会自动的使用多个线程来运行这些
TestStep,同时也会监控 它们的运行时间, 例如最短时间,最长时间,平均时间等等。这样用户能够很直观的看到
REST 服务的响应时间,从而对性能进行调优。

建立 LoadTest 非常简单,只需要在“Load Tests”上点击右键, 选择"New
LoadTest", 然后输入名称即可,下图是一个针对 GetBookList 的 性能测试, 可以看到有两个 TestStep : "GetBookList_xml" 和"GetBookList_json" , 100 个线程并发执行,
时间限制是 60 秒。 最后的结果是,最短时间 4 毫秒,最长时间
1204 毫秒,平均时间 20.54 毫秒。

 

API自动化测试 Soap UI工具介绍的更多相关文章

  1. soapUI参数中文乱码问题解决方法&soap UI工具进行web接口测试

    soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文 ...

  2. python接口自动化(四)--接口测试工具介绍(详解)

    简介 “工欲善其事必先利其器”,通过前边几篇文章的介绍,大家大致对接口有了进一步的认识.那么接下来让我们看看接口测试的工具有哪些. 目前,市场上有很多支持接口测试的工具.利用工具进行接口测试,能够提供 ...

  3. <自动化测试方案_6>第六章、API自动化测试

    第六章.API自动化测试 (一)工具实现 目前大众接口测试的工具有:Postman.SoupUI.jmeter他们的特点介绍有人做个宏观的研究,这里进行引用:https://blog.csdn.net ...

  4. python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍

    1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...

  5. 【转帖】四种BI 开源工具介绍-SpagoBI,openI,JasperSoft,Pentaho

    四种BI 开源工具介绍-SpagoBI,openI,JasperSoft,Pentaho 1 BI系统的简述 从技术角度来说 BI 包含了 ETL.DW.OLAP.DM等多环节.简单的说就是把交易系统 ...

  6. web前端自动化测试/爬虫利器puppeteer介绍

    web前端自动化测试/爬虫利器puppeteer介绍 Intro Chrome59(linux.macos). Chrome60(windows)之后,Chrome自带headless(无界面)模式很 ...

  7. <API自动化测试>Centos-Newman

    一.介绍: 在测试和开发中,有一款API测试工具一直占据着武林盟主的地位,那就是声名远播的Google公司的Postman. Postman原先是Chrome浏览器的一个插件,后面发展成了一个应用程序 ...

  8. HTTP API 自动化测试从手工测试到平台的演变

    不管是 Web 系统,还是移动 APP,前后端逻辑的分离设计已经是常态化,相互之间通过 API 调用进行数据交互.在基于 API 约定的开发模式下,如何加速请求 / 响应的 API 测试,让研发人员及 ...

  9. 接口测试及接口Jmeter工具介绍

    一.接口类型及数据传递的格式 接口类型: 1.HTTP接口:通过GET或POST来获取数据,在数据处理上效率比较高 2.WebServer接口:通过SOAP协议来获取数据,比起http来说处理更加复杂 ...

随机推荐

  1. jquery中ready函数,$(function(){})与自执行函数的区别

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. 一张图片优化5k带来的带宽成本及其前端页面的优化方法

    上周,我参加了公司的一门课程<网站性能优化>,讲师提出了一个问题:一张图片优化后减少5K,1年内可以大概省下多少宽带成本呢?非常好奇,仔细听完讲师分析,计算出来的数据让小伙伴们都惊呆了,仅 ...

  3. golang怎么使用redis,最基础的有效的方法

    最近在学GO语言,我自己也喜欢使用redis,于是乎就顺便把go操作redis的方法也给学了,有个第三方包,在GitHub上面找的 go get github.com/alphazero/Go-Red ...

  4. 虚拟机安装centos发现inet为127.0.0.1,导致Xshell连接不上

    问题如标题所示: 设置网卡开机自动启动: 实质linux是看一个网卡文件的配置,就是/etc/sysconfig/network-scripts/ifcfg-eth0 (这个文件名看你网卡名称而异,具 ...

  5. 882. Reachable Nodes In Subdivided Graph

    题目链接 https://leetcode.com/contest/weekly-contest-96/problems/reachable-nodes-in-subdivided-graph/ 解题 ...

  6. Weblogic10.3.6部署解决CXF webService 调用报错: “Cannot create a secure XMLInputFactory”

    一,解决步骤 1.添加jar包 stax2-api-3.1.4.jar woodstox-core-asl-4.4.1.jar 2.编写监听器 package com.neusoft.cxf.list ...

  7. CSS块级元素、内联元素概念[转]

    CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指南>, ...

  8. Header add Access-Control-Allow-Origin: *

    允许所有域名跨域 Header add Access-Control-Allow-Origin: *

  9. 1256 Anagram

    题目链接: http://poj.org/problem?id=1256 题意: 根据自定义的字典序: 'A'<'a'<'B'<'b'<...<'Z'<'z' 和输 ...

  10. .NET开源MSSQL、Redis监控产品Opserver之Exception配置

    异常日志的记录和监控主要依赖于StackExchange.Exceptional组件,默认已经被引进来了. 先看下config文件夹下的ExceptionsSettings.json.example文 ...