SoapUI sigue siendo la herramienta de referencia para testing enterprise de APIs: según SmartBear API Testing Report 2024, el protocolo SOAP maneja el 22% del tráfico de integraciones enterprise, y SoapUI es la herramienta principal para el 41% de los especialistas QA en grandes organizaciones. Su ventaja diferencial es el soporte nativo de WSDL — parsea automáticamente todas las operaciones, genera sample requests y maneja XML namespaces sin configuración manual. A diferencia de Postman, SoapUI fue diseñado desde el principio para escenarios SOAP complejos: estructuras XML anidadas, WS-Security y mock services dinámicos con Groovy. Para testing REST también es funcional: JSONPath assertions, OAuth, data-driven tests con CSV y scripting avanzado. Este tutorial cubre el ciclo completo — desde importar un WSDL hasta ejecutar tests en CI/CD — con ejemplos prácticos para equipos que trabajan con SOAP y REST.
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 no es una herramienta obsoleta, es una especializada. Si trabajas con SOAP y WSDL, te ahorra horas de parsear XML manualmente. Para REST puro, quizás hay alternativas más cómodas.” — Yuri Kan, Senior QA Lead
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
- SoapUI Documentation — documentación oficial de todas las funciones de SoapUI
- SoapUI Download — descarga de la versión Open Source gratuita
- SmartBear API Testing Report 2024 — estadísticas de adopción de herramientas de API testing
- W3C SOAP Specification — especificación oficial del protocolo SOAP
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
