
Selenium-Guía imprescindible
La automatización de pruebas con selenium se ha convertido en un pilar fundamental dentro del desarrollo de software moderno.
Equipos de QA, desarrolladores y empresas que buscan ciclos de entrega más rápidos necesitan herramientas que les permitan validar funcionalidades en menor tiempo y con mayor precisión.
Entre las tecnologías más utilizadas encontramos Selenium, Cucumber y diferentes herramientas de API Testing, que juntas permiten construir un ecosistema robusto y eficiente de pruebas automatizadas.
En este artículo aprenderás:
- Qué es Selenium y cómo funciona.
- Qué es Cucumber y por qué es clave para el enfoque BDD.
- Clases y métodos más utilizados en Selenium WebDriver.
- Escenarios reales con ejemplos en Gherkin.
- Ejemplos de automatización con Selenium + Cucumber.
- Pruebas de API, métodos más habituales y herramientas recomendadas.
- Buenas prácticas para automatización profesional.
Este artículo está diseñado no solo para informar, sino también para ayudarte a dominar la automatización y prepararte para un rol profesional en QA Automation.
1. ¿Qué es Selenium?
Selenium es un conjunto de herramientas de código abierto diseñadas para automatizar acciones sobre navegadores web.
Es la solución más popular para pruebas E2E (end-to-end) gracias a su flexibilidad, compatibilidad con múltiples lenguajes y soporte para todos los navegadores modernos.
Componentes principales de Selenium
- Selenium WebDriver
Permite controlar navegadores como Chrome, Firefox o Edge mediante código. - Selenium IDE
Una herramienta rápida para grabar y reproducir pruebas (menos usada en entornos enterprise). - Selenium Grid
Permite ejecutar pruebas en paralelo distribuidas en múltiples máquinas o contenedores.
2. ¿Qué es Cucumber?
Cucumber es una herramienta basada en BDD (Behavior Driven Development).
Permite definir pruebas en lenguaje natural utilizando Gherkin, lo cual facilita la comunicación entre desarrolladores, testers y negocio.
Es un framework que se utiliza con el lenguaje Java ,hay otros framework de BDD según el lenguaje
Ventajas de usar Cucumber:
- Lenguaje simple, entendible por cualquier miembro del equipo.
- Escenarios reutilizables.
- Integración perfecta con Selenium.
- Estructura clara del proyecto y separación Test Case / Step Definitions.
🧪 Frameworks BDD por Lenguaje (2026)
🚀 ¿Quieres empezar en QA pero no sabes por dónde hacerlo?
La mayoría de personas que hoy trabajan como testers empezaron exactamente desde cero, sin experiencia técnica ni saber programar.
He creado una ruta clara paso a paso para que entiendas:
✅ qué aprender primero
✅ qué evitar para no perder meses
✅ cómo pasar de principiante a tu primer trabajo en testing
⭐ 1. Java
- Cucumber JVM → el más usado en empresas
- JBehave → precursor de Cucumber
- Serenity BDD → combina reporting + Cucumber
- Spock (Groovy/Java) → estilo BDD pero más técnico
- Gauge → más moderno, de ThoughtWorks
Más utilizado hoy: Cucumber + Serenity.
⭐ 2. JavaScript / TypeScript
- Cucumber.js → equivalente a Cucumber en JS
- Jest + jest-cucumber → mezcla entre testing y BDD
- CodeceptJS → permite usar Gherkin
- Gauge → soporte oficial para JS
- Cypress + plugins BDD (cypress-cucumber-preprocessor)
Tendencia: Cypress + Cucumber.
⭐ 3. Python
- Behave → el estándar en Python
- pytest-bdd → integración con Pytest, muy popular
- Lettuce → menos usado pero inspirado en Cucumber
El más usado: Behave.
⭐ 4. Ruby
- Cucumber (original) → el creador del formato Gherkin
- RSpec → estilo BDD pero no usa Gherkin
- Spinach → alternativa a Cucumber, modular
Rey absoluto: Cucumber (nació en Ruby).
⭐ 5. C# / .NET
- SpecFlow → el Cucumber oficial para .NET
- LightBDD → más ligero y rápido
- Behave.NET → menos extendido
Más popular: SpecFlow.
⭐ 6. PHP
- Behat → BDD puro inspirado en Cucumber
- Codeception → testing funcional + BDD
Principal: Behat.
⭐ 7. Swift / iOS
- XCTest + Quick + Nimble → estilo BDD
- Cucumberish → usar Gherkin en iOS
⭐ 8. Kotlin
- Cucumber JVM → funciona perfecto
- Spek → estilo BDD ligero
⭐ 9. Go (Golang)
- Godog → implementación oficial estilo Cucumber
- Ginkgo → BDD sin Gherkin
🏆 ¿Cuáles son los más usados mundialmente?
| Lenguaje | Framework BDD líder |
|---|---|
| Java | Cucumber + Serenity |
| JS/TS | Cucumber.js + Cypress |
| Python | Behave |
| Ruby | Cucumber |
| C# | SpecFlow |
| PHP | Behat |
| Go | Godog |
3. Clases más utilizadas en selenium WebDriver
A continuación, las clases esenciales:
1. WebDriver
Control general del navegador.
WebDriver driver = new ChromeDriver();
2. WebElement
Representa elementos HTML.
driver.webElement(By.id(“Nombre”)
3. By
Localizadores como:
- By.id() por id del elemento web
- By.name() por nombre del elemento web
- By.xpath() por posicion del emento en el DOM
- By.cssSelector() por clase CSS
4. Actions
Para acciones avanzadas:
- Hover
- Drag and drop
- Double click
5. Select
Para dropdowns o desplegables.
6. WebDriverWait
Para esperas explícitas.
4. Métodos más utilizados en selenium
Métodos WebDriver:
- get(url) carga la pagina web
- navigate().to(url) navega a una pagina web
- manage().window().maximize() maximiza la ventana del navegador activa
- quit() quita una ventana de memoria
- close() cierra la ventana activa
Métodos WebElement:
- click() hace clic en un elemento
- sendKeys(“texto”) escribe texto en un campo de texto
- getText() obtiene el texto de un elemento
- isDisplayed() indica si esta cargado o desplegado
- isEnabled() si está habilitado el elemento
Localizadores (By):
- By.id(“email”)
- By.xpath(“//button[text()=’Login’]”)
- By.cssSelector(“.btn-primary”)
WebDriverWait:
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(“username”)));
5. Ejemplos con Gherkin (Cucumber)
Escenario 1: Login exitoso
Feature: Login en la aplicación
Scenario: Usuario inicia sesión correctamente
Given que el usuario abre el navegador
And navega a la página de login
When ingresa su usuario “admin” y contraseña “1234”
And hace clic en el botón “Login”
Then debe ver el mensaje “Bienvenido admin”
Escenario 2: Búsqueda de producto
Feature: Búsqueda
Scenario: Búsqueda exitosa de producto
Given que estoy en la página principal
When busco el producto “Laptop”
Then deben aparecer resultados relacionados con “Laptop”
6. Ejemplo de automatización selenium + Cucumber (Java)
Step Definition del login:
@Given(“que el usuario abre el navegador”)
public void abrirNavegador() {
driver = new ChromeDriver();
driver.manage().window().maximize();
}
@When(“ingresa su usuario {string} y contraseña {string}”)
public void ingresarCredenciales(String user, String pass) {
driver.findElement(By.id(“username”)).sendKeys(user);
driver.findElement(By.id(“password”)).sendKeys(pass);
}
@Then(“debe ver el mensaje {string}”)
public void validarMensaje(String mensajeEsperado) {
String mensajeActual = driver.findElement(By.id(“welcome”)).getText();
Assert.assertEquals(mensajeEsperado, mensajeActual);
}
7. Pruebas de API dentro del ecosistema QA
La automatización moderna no solo involucra pruebas UI; la mayor parte de validaciones críticas se realizan en APIs REST.
Métodos habituales en pruebas de API
Los HTTP methods más usados:
- GET → obtener información
- POST → crear un recurso
- PUT → actualizar un recurso completo
- PATCH → actualización parcial
- DELETE → eliminar un recurso
Herramientas más comunes
👉 Postman
- Automatización con colecciones.
- Tests con JavaScript.
- Integración con CI/CD.
Ideal para frameworks automatizados.
Ejemplo:
given()
.contentType(“application/json”)
.when()
.get(“https://api.example.com/users/1”)
.then()
.statusCode(200)
.body(“name”, equalTo(“Juan”));
👉 SoapUI
Para pruebas SOAP y APIs complejas.
8. Buenas prácticas de automatización
- Nunca automatizar pruebas inestables.
- Separar datos y lógica.
- Arquitectura POM (Page Object Model).
- Ejecuciones paralelas con Selenium Grid.
- Integrar Cucumber + Reportes avanzados (Allure Reports).
- Uso de Git + CI/CD para ejecución automática.
9. Conclusión
Como resumen os dejo está infografia potente de todo lo que hemos hablado en este artículo y un resumen del artículo en un vídeo.

La automatización con Selenium, Cucumber y pruebas de APIs es uno de los perfiles más demandados del mercado. Dominar estas herramientas te abre las puertas a posiciones de QA Automation Engineer con salarios competitivos y oportunidades globales.
Si quieres aprender desde cero hasta avanzado, con prácticas reales, frameworks completos, clases guiadas y acceso a una comunidad profesional, te invito a unirte a mis Curso Completo de Automatización con Selenium + Cucumber y a mi curso de pruebas de apis con postman
Y porqué deberíais comprar aquí estos cursos?
í✔ Proyectos reales
✔ Framework profesional
✔ Clases paso a paso
✔ Plantillas descargables
✔ Certificado final
Son los cursos ideales para convertirte en Automatizador Profesional en 2026.

Alejandro Canosa es especialista en QA y testing de software con más de 10 años de experiencia profesional trabajando entre España y Colombia. Cuenta con un posgrado en Quality Assurance por la UPC y es autor de dos libros técnicos publicados por la editorial Rama como son Scrum.Teoría e implementación práctica y Certificación ISTQB Certified Foundation Level 4.0 además es socio de CEDRO . Actualmente dirige Academia de Testing, donde ayuda a personas sin experiencia previa a iniciar su carrera en tecnología desde cero.

Respuestas