Web Platform Tests y confianza en funciones del navegador
Combina Web Platform Tests, comprobaciones en tiempo de ejecución y aserciones de aplicación para evaluar funciones del navegador.
Quieres la documentación estructurada de Plataforma?
Este artículo forma parte de la biblioteca editorial. Para pasos de configuración, material de referencia y actualizaciones continuas, entra en la sección de docs.
Web Platform Tests aporta evidencia de conformidad bajo condiciones declaradas, pero no garantiza que todo recorrido de una aplicación funcione. Combina la especificación, la prueba compartida, la comprobación local y la señal visible de la aplicación. No deduzcas identidad ni dispositivo de una capacidad.
Elegir evidencia WPT
Consulta el repositorio WPT y la API testharness. Registra ruta, especificación, versión del navegador, origen, permisos y fecha. Una prueba omitida, tentativa o marcada como fallo esperado necesita una alternativa y una explicación.
Lee los metadatos junto al resultado. Una prueba local puede no representar un origen seguro, un gesto del usuario o una política de permisos. No copies fixtures sin revisar licencia, dependencias y limpieza.
Comprobación de capacidad
Comprueba el método que la operación necesita justo antes de usarlo. Separa ausente, disponible, denegado, fallido y completado. La presencia de una propiedad no demuestra permiso, servicio disponible ni escritura en servidor.
Conserva los datos introducidos y ofrece una operación alternativa accesible. Registra origen, contexto seguro, versión, estado detectado, alternativa y resultado visible sin recopilar propiedades ajenas.
Tabla de decisión
| Observación | Decisión | Resultado visible | Límite |
|---|---|---|---|
| WPT pasa en la matriz declarada | incluir candidato | intentar tras detectar capacidad | conformidad declarada |
| WPT omitida o tentativa | revisar metadatos | mantener alternativa | cobertura de pruebas |
| Método ausente o contexto bloqueado | usar alternativa | conservar tarea | capacidad de la página |
| Llamada rechazada | clasificar una vez | mostrar recuperación | comportamiento del navegador |
| Llamada resuelta | verificar aplicación | confirmar señal visible | navegador y aplicación |
Fixture de fallo
El fixture debe crear sus controles, simular solo la API propia, comprobar texto visible y eliminar nodos en todos los caminos. No modifiques una huella ni envíes credenciales.
async function probar() {
const host = document.createElement('div');
host.innerHTML = '<p id="estado"></p><button id="alternativa" hidden>Usar alternativa</button>';
document.body.append(host);
const estado = host.querySelector('#estado');
const alternativa = host.querySelector('#alternativa');
try {
const disponible = typeof navigator.share === 'function';
const resultado = disponible
? await navigator
.share({ title: 'Elemento sintético', url: '/fixture' })
.then(() => 'completado')
.catch(() => 'fallido')
: 'ausente';
estado.textContent = resultado === 'completado' ? 'Completado' : 'Usa la alternativa';
if (resultado !== 'completado') alternativa.hidden = false;
console.assert(estado.textContent && (resultado === 'completado' || !alternativa.hidden));
return resultado;
} finally {
host.remove();
}
}
Verificación de aplicación
Después de la llamada verifica el mensaje, el control actualizado o el registro que pertenece a la aplicación. Una promesa resuelta no prueba que el servidor haya guardado un registro. Separa ambos resultados y prueba foco, teclado, etiquetas y recuperación.
Repite la matriz cuando cambien navegador, especificación, contexto seguro, permisos o harness. Conserva ruta WPT, revisión, estado local, alternativa y fecha de revisión, sin contenido personal.
BotBrowser: alcance
BotBrowser puede ofrecer contextos controlados para recorridos autorizados inspirados en WPT y comprobaciones repetibles. Un contexto aislado separa almacenamiento mutable y permite comparar estados visibles en una versión declarada.
No certifica la suite WPT, concede permisos, vuelve seguro un origen, sustituye infraestructura de conformidad ni prueba una transacción de servidor. La documentación de aislamiento de BotBrowser demuestra repetibilidad, no compatibilidad universal.
Consulta también la guía de compatibilidad y alternativas de APIs y la guía de eventos WebDriver BiDi.
BotBrowser puede ejecutar comprobaciones repetibles en contextos autorizados inspirados en WPT, pero no garantiza la conformidad, no concede permisos ni sustituye una prueba de transacción. Mantén ambas afirmaciones en el registro.
La confianza mejora cuando cada capa tiene un responsable: especificación, prueba WPT, matriz de navegadores, aplicación y fixture. Registra ruta, versión, origen, estado, alternativa y resultado visible.
Usa evidencia negativa con honestidad. Un test omitido, un rechazo o un tiempo de espera necesita clasificación y no debe convertirse en un aprobado oculto. Conserva la alternativa hasta que la evidencia de la aplicación permita retirarla.
Conserva una ficha breve con ruta WPT, versión, contexto, estado, aserción visible y alternativa.
Compara la versión candidata con la anterior usando el mismo fixture y conserva el primer fallo significativo.
Indica responsable y fecha de revisión para cada excepción.
Nombra la alternativa visible para que soporte reproduzca el resultado.
Haz que el registro sea legible para quien no ejecutó el navegador y describe límite, resultado y siguiente acción.
La explicación evita convertir una prueba estrecha en una promesa universal.
Registra también la fecha y la persona responsable del siguiente control.
Ese traspaso mantiene actualizada la confianza del navegador.
El resultado debe conservar el límite entre conformidad y comportamiento de la aplicación.
No presentes un contexto controlado como garantía universal.
Fuentes
Artículos Relacionados
Lleva BotBrowser de la investigación a producción
Usa estas guías para entender el modelo y después avanzar hacia validación multiplataforma, contextos aislados y despliegue de navegador preparado para escalar.