El capítulo 3 es la propia API y el bloque más grande del temario: 240 de los 1200 minutos de instrucción. Ciclo de vida del driver y configuración, localizar e interactuar con elementos, esperas y sincronización, navegación e historial, ventanas y pestañas, frames, alertas nativas, desplegables y Actions. Solo Selenium 4: los tutoriales antiguos enseñan llamadas que han cambiado o desaparecido.
Es también la mayor parte de nuestro banco para esta certificación. Las preguntas describen un síntoma y esperan el mecanismo, no la sintaxis.
Dónde se pierden puntos:
Mezclar esperas implícitas y explícitas. Poner una espera implícita y además usar WebDriverWait produce timeouts impredecibles, porque ambas esperan a la vez. Una estrategia por suite: la explícita.
Presencia, visibilidad y clicabilidad son tres condiciones distintas. Un elemento puede estar en el DOM e invisible, o visible y tapado por un overlay. Ajusta la ExpectedConditions al síntoma descrito, no a la primera que recuerdes.
Las tres excepciones, cada una con su significado. NoSuchElementException — nunca se encontró. StaleElementReferenceException — se encontró y luego el DOM se reemplazó, así que hay que volver a localizarlo, no repetir el clic. ElementClickInterceptedException — algo está encima.
Cambiar de contexto y olvidar la vuelta. Frames, ventanas y alertas requieren un cambio explícito cada uno; tras trabajar dentro de un frame hay que volver al contenido por defecto antes de tocar algo de fuera. Es la trampa clásica.
Leer el valor equivocado. En un campo de entrada, el texto que escribió el usuario está en el valor actual, no en el texto renderizado: getAttribute("value"), no getText().
Esperas fijas. Un sleep fijo siempre es la respuesta incorrecta: demasiado corto en un día lento y tiempo perdido en uno rápido.
Este capítulo se cubre con más intensidad (21 preguntas) en A4Q Selenium Tester — Examen de práctica 6 (Esperas, sincronización y estabilidad)