Opentest es una herramienta de automatización de pruebas funcionales gratuitas y de código abierto para aplicaciones web, aplicaciones móviles y API.
Sabemos que ya hay muchas cosas por ahí, ambos productos comerciales establecidos y proyectos de código abierto. Buscamos la herramienta adecuada durante mucho tiempo y tratamos justos de muchos de ellos, con resultados que no cumplieron exactamente nuestras expectativas. Estábamos buscando una herramienta en la que pudiéramos estandarizar, que nos permitiría unificar los esfuerzos de automatización de pruebas en múltiples equipos internos y externos con varios tamaños, conjuntos de habilidades, presupuestos y ubicaciones geográficas. Esta herramienta tendría que incorporar las últimas mejores prácticas en la industria e, idealmente, ser lanzadas bajo una licencia de código abierto para que podamos eliminar los procesos largos y reducir los costos. Dadas estas consideraciones, así como otros requisitos, decidimos que construir desde cero era la elección responsable.
OpenTest tiene como objetivo ofrecer todas las características de una herramienta de automatización de pruebas moderna mientras sigue un conjunto de principios saludables. Nuestro objetivo es democratizar la automatización de pruebas funcionales y crear una gran comunidad que esté facultada para construir sobre sí misma. Si bien nada en la vida es perfecto y no hay ningún software completo, prometemos que cada característica que entró en este producto se pensó a fondo y se implementó cuidadosamente para lograr el mejor equilibrio entre potencia y flexibilidad en un lado, y la usabilidad en el otro.
Pruebas web , con selenio. Todos los navegadores apoyaron. Ejecute pruebas en su máquina local o usando un proveedor de nubes.
Pruebas móviles para aplicaciones de Android e iOS con Appium. Ejecute pruebas en su máquina local o usando un proveedor de nubes.
Prueba de API , construida sobre la biblioteca Apache HttpClient.
Prueba basada en palabras clave . Ensamble sus pruebas utilizando bloques de construcción de nivel superior que ocultan la complejidad de la tecnología subyacente y le permiten expresarlo de manera concisa y legible.
Soporte de secuencias de comandos . Cubra escenarios de prueba complejos que usan el código JavaScript, integrado orgánicamente dentro de su prueba de palabras clave para mantener las cosas limpias y legibles.
Prueba paralela . El número de sesiones de prueba que puede ejecutar en paralelo solo está limitada por los recursos de la máquina en la que está ejecutando (pero siempre hay más máquinas en la nube).
Prueba distribuida . Escriba pruebas que se ejecuten perfectamente en múltiples máquinas, redes y tecnologías. Escriba pruebas de integración que abarcan móviles, web, API y cualquier cosa intermedia.
Prueba basada en datos . Ejecute una prueba varias veces, a través de un conjunto de registros de datos mantenidos en un archivo de datos separado.
Extensible . Integre con cualquier tecnología creando sus propias acciones de prueba personalizadas (palabras clave).
Fuente Control amigable por diseño. Trabaja con confianza, sabiendo que Git te respalda. Perfecto para equipos grandes o geográficamente distribuidos.
Entornos . Cree sus pruebas una vez y ejecuten en múltiples entornos o use diferentes conjuntos de datos de prueba.
Funciona bien con los demás . Use la API HTTP simple para tomar el control de las sesiones de prueba de inicio y monitoreo, recopilar resultados de pruebas, etc.
Multiplataforma , que se ejecuta en macOS, Windows y Linux.
(Y tuvimos que omitir muchas características realmente geniales para mantener este breve)
Prerrequisitos: nodo.js 8 o más; Tiempo de ejecución de Java 8 o más.
Instalar desde NPM:
npm install opentest -gTutorial de video: https://getopentest.org/docs/installation.html (grabado en Windows)
Cree un directorio llamado "OpenTest" en su directorio de inicio para usar como patio de recreo para esta guía y cd en ese directorio.
cd ~
mkdir opentest
cd opentest Nota | En Windows, use md en lugar de mkdir . |
Ejecute el comando a continuación
opentest quick-startAhora debería tener estos archivos y directorios en su ruta actual:
server
└── server.yaml
actor1
└── actor.yaml
test-repo
├── macros
│ └── ...
├── scripts
│ └── ...
├── templates
│ └── ...
└── tests
└── ... El server y los directorios actor1 se utilizarán como directorios de trabajo para OpenTest Server y Test Actor, respectivamente. El directorio test-repo es un repositorio de pruebas de muestra que demuestra algunas características básicas de Opentest.
Abra una nueva ventana de terminal, cd al directorio de trabajo del servidor e inicie el servidor OpenTest:
cd ~/opentest/server
opentest serverEl servidor OpenTest (también conocido como el servidor Sync) es una aplicación Node.js cuyas funciones principales son para orquestar la ejecución de las pruebas y proporcionar una interfaz de usuario basada en la web.
Abra una nueva ventana de terminal, cd al directorio de trabajo del actor e inicie el actor de prueba:
cd ~/opentest/actor1
opentest actorEl actor de prueba es una aplicación Java que se ejecuta en el sistema bajo prueba y ejecuta los pasos de prueba según las instrucciones del servidor Sync.
Abra un navegador web y navegue a http: // localhost: 3000.
En el menú, seleccione Sesión> Crear sesión desde la plantilla . Seleccione las pruebas de inicio rápido de plantilla y haga clic en Crear sesión . Espere unos segundos y actualice su navegador para ver el resultado de la sesión de prueba.
Hay tres componentes para OpenTest:
El servidor Sync , una aplicación Node.js que realiza principalmente tres funciones:
Orchestre la ejecución de la prueba.
Expone una interfaz de usuario web que se puede utilizar para crear sesiones de prueba, examinar los resultados de las pruebas, etc.
Expone una API amigable que se puede aprovechar para aproximadamente los mismos propósitos que la UI.
El actor de prueba , una aplicación Java responsable de la ejecución de pruebas, según las instrucciones del servidor Sync. Puede haber varios actores que participan en la misma prueba y los actores se pueden implementar en cualquier máquina en cualquier red, incluso en la nube. El único requisito es que el actor de prueba puede comunicarse con la API HTTP expuesta por el servidor Sync. No hay requisito de que el servidor de sincronización pueda iniciar la comunicación con el actor, lo que simplifica enormemente la configuración en escenarios en los que el actor se está ejecutando en un laboratorio que está detrás de un firewall o en una red a la que no se puede acceder desde la máquina que ejecuta el servidor de sincronización.
El repositorio de pruebas , un directorio con una estructura predefinida y requerida, bajo control de fuente, que contiene los diversos activos de prueba (archivos de prueba, scripts, plantillas de sesión de prueba, etc.).

Opentest es software de código abierto lanzado bajo la licencia MIT.
A menos que usted declare explícitamente lo contrario, cualquier contribución presentada intencionalmente por usted para su inclusión en este repositorio tendrá licencia como anteriormente, sin ningún término o condiciones adicionales.
Para obtener más información, consulte el documento de pautas que contribuyen.
¡Gracias a Browserstack por proporcionar una cuenta de código abierto para pruebas y desarrollo!
Plataforma de prueba de navegador cruzado y código abierto ❤️ proporcionado por Sauce Labs