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
- Click derecho en servicio → Generate Mock Service
- Configura respuestas para operaciones
- 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
- API Testing Tutorial - Fundamentos de testing API
- Postman Tutorial - Testing REST API
- REST Assured Tutorial - Java API testing
- API Security Testing - Fundamentos de testing de seguridad
