TL;DR

  • SoapUI testea APIs REST y SOAP con interfaz GUI
  • Crea proyectos → agrega servicios (WSDL/REST) → construye test suites → agrega assertions
  • Assertions validan respuestas: contains, XPath, JSONPath, códigos de estado
  • Data-driven testing lee datos de archivos (CSV, Excel, base de datos)
  • Mock services simulan APIs para testing sin backends reales

Ideal para: Testing SOAP enterprise, workflows API complejos, equipos que necesitan herramienta GUI Omite si: Solo testeas REST APIs simples (Postman es más fácil) Tiempo de lectura: 14 minutos

Tu integración usa servicios SOAP. El WSDL tiene 50 operaciones. Necesitas testear patrones request/response complejos con XML namespaces. Postman se siente incómodo para esto.

SoapUI fue construido para SOAP. Parsea WSDLs, genera requests, maneja XML namespaces. El soporte REST vino después pero funciona bien también.

¿Qué es SoapUI?

SoapUI es una herramienta de testing de APIs enfocada en servicios web. Maneja tanto SOAP (con soporte completo WSDL) como REST APIs con una interfaz de aplicación desktop.

Por qué SoapUI:

  • Expertise SOAP — parsea WSDL, maneja namespaces
  • Soporte REST — JSON/XML, OAuth, APIs modernas
  • Basado en GUI — construcción visual de tests
  • Mock services — simula APIs
  • Data-driven — testing parametrizado

Testing de Servicios SOAP

Importar WSDL

File → New SOAP Project
Project Name: PaymentService
Initial WSDL: https://api.example.com/payment?wsdl

SoapUI automáticamente parsea todas las operaciones y crea sample requests.

SOAP Assertions

Contains:

Content: <status>SUCCESS</status>

XPath Match:

XPath: //pay:transactionId
Expected: exists

Testing REST APIs

REST Request

Method: POST
Endpoint: https://api.example.com/users
Headers:
  Content-Type: application/json
  Authorization: Bearer ${token}

Body:
{
    "name": "John Doe",
    "email": "john@example.com"
}

REST Assertions

JSONPath Match:

JSONPath: $.id
Expected: exists

Valid HTTP Status:

Status Codes: 200,201

Test Suites

Estructura de Tests

Project
└── TestSuite: User Management
    ├── TestCase: Create User
    │   ├── REST Request: POST /users
    │   └── Assertion: Status 201
    └── TestCase: Get User
        ├── REST Request: GET /users/{id}
        └── Assertion: JSONPath $.name exists

Property Transfer

Pasar datos entre pasos de test:

Source: Create User Response
Property: Response
Path: $.id

Target: Get User Request
Property: userId

Mock Services

Crear Mock

  1. Click derecho en servicio → Generate Mock Service
  2. Configura respuestas para operaciones
  3. Inicia el mock service

Mock Dinámico (Groovy)

def requestId = mockRequest.requestContent.id

def response = """
{
    "id": ${requestId},
    "name": "User ${requestId}"
}
"""

return response

Groovy Scripting

Post-Response Script

import groovy.json.JsonSlurper

def response = context.expand('${Create User#Response}')
def json = new JsonSlurper().parseText(response)

testRunner.testCase.setPropertyValue("userId", json.id.toString())

Línea de Comandos

# Ejecutar test suite
testrunner.sh -s "TestSuite Name" project.xml

# Con parámetros
testrunner.sh -Pbaseurl=https://staging.example.com project.xml

SoapUI con Asistencia de IA

Lo que la IA hace bien:

  • Generar variaciones de datos de prueba
  • Explicar estructuras SOAP/WSDL
  • Escribir scripts Groovy para assertions

Lo que necesita humanos:

  • Entender reglas de negocio
  • Diseñar escenarios de test
  • Depurar XML namespaces complejos

FAQ

¿Qué es SoapUI?

SoapUI es una herramienta popular de testing de APIs para servicios web REST y SOAP. Originalmente construido para testing SOAP con soporte completo WSDL, ahora maneja REST APIs también. Provee GUI para construir tests, assertions para validación, mock services y Groovy scripting.

¿Es SoapUI gratuito?

SoapUI Open Source es completamente gratuito. Incluye testing REST/SOAP, assertions, mock services y Groovy. ReadyAPI (antes SoapUI Pro) es software pago con funciones adicionales.

¿SoapUI vs Postman — cuál es mejor?

Postman es más simple, más moderno y mejor para testing REST API. SoapUI destaca en servicios SOAP, manejo complejo de XML y escenarios enterprise. Si trabajas principalmente con SOAP o necesitas mock services avanzados — SoapUI. Para equipos solo-REST — Postman usualmente es mejor.

¿Puede SoapUI testear REST APIs?

Sí. A pesar de su nombre enfocado en SOAP, SoapUI maneja REST APIs bien. Soporta respuestas JSON/XML, JSONPath assertions, autenticación OAuth/bearer y todos los métodos HTTP.

Recursos Oficiales

Ver También