Continuous Testing y Bitrise

Con el paso synthetics-test-automation-bitrise-step-run-tests, puedes ejecutar tests Synthetic durante tu Bitrise CI, asegurándote de que todos tus equipos que utilizan Bitrise puedan beneficiarse de los tests Synthetic en cada etapa del ciclo de vida del software.
Para obtener más información sobre la configuración disponible, consulta la documentación dedatadog-ci synthetics run-tests.
Configuración
Este paso no está disponible en la Biblioteca de pasos oficial de Bitrise.
Para empezar:
- Añade la siguiente URL git a tu flujo de trabajo. Consulta la documentación oficial de Bitrise sobre cómo hacerlo a través de la aplicación Bitrise. También la puedes configurar localmente haciendo referencia a la URL git en tu archivo
bitrise.yml.
- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@v3.8.0:
- Añade tus claves de API y de aplicación a tus secretos en Bitrise.
- Configurar tus entradas de pasos. También puedes configurarlas en tu archivo
bitrise.yml. Las únicas entradas requeridas son los dos secretos que configuraste anteriormente. Para obtener una lista completa de entradas, consulta la Sección de entradas.
Cuando se ejecuta el paso localmente con la Bitrise CLI, los secretos deben almacenarse en un archivo .bitrise.secrets.yml. Consulta Gestión local de secretos.
Uso sencillo
Ejemplo de uso de identificadores públicos
- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@v3.8.0:
inputs:
- api_key: <DATADOG_API_KEY>
- app_key: <DATADOG_APP_KEY>
- public_ids: |
abc-d3f-ghi
jkl-mn0-pqr
Ejemplo de tarea utilizando los archivos synthetics.json existentes
- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@v3.8.0:
inputs:
- api_key: <DATADOG_API_KEY>
- app_key: <DATADOG_APP_KEY>
- files: 'e2e-tests/*.synthetics.json'
Para ver un archivo de test de ejemplo, consulta este archivo test.synthetics.json.
Uso complejo
Ejemplo de tarea utilizando la testSearchQuery
- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@v3.8.0:
inputs:
- api_key: <DATADOG_API_KEY>
- app_key: <DATADOG_APP_KEY>
- test_search_query: 'tag:e2e-tests'
Ejemplo de tarea que utiliza testSearchQuery y sustituciones de variables
- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@v3.8.0:
inputs:
- api_key: <DATADOG_API_KEY>
- app_key: <DATADOG_APP_KEY>
- test_search_query: 'tag:e2e-tests'
- variables: |
START_URL=https://staging.website.com
PASSWORD=$STAGING_PASSWORD
Ejemplo de tarea que utiliza una sobrescritura global de configuración con configPath
Esta tarea sobrescribe la ruta del archivo global global.config.json.
- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@v3.8.0:
inputs:
- api_key: <DATADOG_API_KEY>
- app_key: <DATADOG_APP_KEY>
- config_path: './global.config.json'
Ejemplo con todas las configuraciones posibles
Como referencia, este es un ejemplo de una configuración completo:
- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@v3.8.0:
inputs:
- api_key: <DATADOG_API_KEY>
- app_key: <DATADOG_APP_KEY>
- batch_timeout: 4200000
- config_path: './global.config.json'
- datadog_site: 'datadoghq.com'
- device_ids: |
apple iphone se (2022),15.4.1
apple iphone 14 pro,16.1
- fail_on_critical_errors: true
- fail_on_missing_tests: true
- fail_on_timeout: true
- files: 'e2e-tests/*.synthetics.json'
- junit_report: 'e2e-test-junit'
- locations: 'aws:us-west-1'
- mobile_application_version: '01234567-8888-9999-abcd-efffffffffff'
- mobile_application_version_file_path: 'path/to/application.apk'
- public_ids: 'abc-d3f-ghi,jkl-mn0-pqr'
- selective_rerun: true
- subdomain: 'myorg'
- test_search_query: 'tag:e2e-tests'
- tunnel: true
- variables: |
START_URL=https://staging.website.com
PASSWORD=$STAGING_PASSWORD
Entradas
Para obtener más información sobre la configuración disponible, consulta la documentación dedatadog-ci synthetics run-tests.
| Nombre | Descripción |
|---|
api_key | (Obligatorio) Tu clave de API Datadog. Esta clave se crea en tu organización Datadog y debe almacenarse como secreto. |
app_key | (Obligatorio) Tu clave de aplicación Datadog. Esta clave se crea en tu organización Datadog y debe almacenarse como secreto. |
batch_timeout | Especifica la duración del tiempo de espera en milisegundos para el lote CI. Cuando se agota el tiempo de espera de un lote, el trabajo CI falla y no se activan nuevas ejecuciones de tests, pero las ejecuciones de tests en curso finalizan normalmente. Por defecto: 1800000 (30 minutos) |
config_path | La ruta al archivo de configuración global que configura datadog-ci. Por defecto: datadog-ci.json |
datadog_site | Tu sitio Datadog. Los valores posibles se enumeran en esta tabla. Por defecto: datadoghq.com
Configúralo como (asegurarse de seleccionar el SITIO correcto a la derecha). |
device_ids | Sustituye la lista de dispositivos en los que ejecutar tests Synthetic, separados por nuevas líneas. Por defecto: ninguno |
fail_on_critical_errors | Falla el trabajo CI si se produce un error crítico que suele ser transitorio, como límites de frecuencia, fallos de autenticación o problemas de infraestructura de Datadog. Por defecto: false |
fail_on_missing_tests | Falla el trabajo CI si la lista de tests a ejecutar está vacía o si faltan algunos tests explícitamente mencionados. Por defecto: false |
fail_on_timeout | Falla el trabajo CI si el lote CI falla por tiempo de espera excedido. Por defecto: true |
files | Patrones globales para detectar archivos de configuración de tests Synthetic, separados por nuevas líneas. Por defecto: {,!(node_modules)/**/}*.synthetics.json |
junit_report | El nombre de archivo de un informe JUnit si quieres generar uno. Por defecto: ninguno |
locations | Sustituye la lista de localizaciones desde las que ejecutar el test, separadas por nuevas líneas o comas. Los valores posibles se enumeran en esta respuesta de API. Por defecto: ninguno |
mobile_application_version_file_path | Sustituye la versión de la aplicación móvil para tests de aplicación móvil Synthetic por una aplicación local o creada recientemente. Puedes utilizar $BITRISE_IPA_PATH o $BITRISE_APK_PATH de los pasos de compilación anteriores. Por defecto: ninguno |
mobile_application_version | Sustituye la versión de la aplicación móvil para tests de aplicación móvil Synthetic. La versión debe estar cargada y disponible en Datadog. Puedes utilizar el paso de Bitrise para cargar una aplicación y utilizar su salida DATADOG_UPLOADED_APPLICATION_VERSION_ID aquí. Por defecto: ninguno |
public_ids | ID públicos de tests Synthetic que se van a ejecutar, separados por nuevas líneas o comas. Si no se proporciona ningún valor, los tests se detectan en los archivos de configuración de tests Synthetic. Por defecto: ninguno |
selective_rerun | Si solo se vuelven a ejecutar tests fallidos. Si un test ya ha pasado para una confirmación dada, no se vuelve a ejecutar en los siguientes lotes de CI. Por defecto, se utiliza la configuración predeterminada de tu organización. Configúralo como false para forzar ejecuciones completas cuando tu configuración lo permita por defecto. Por defecto: ninguno |
subdomain | El subdominio personalizado para acceder a tu organización Datadog. Si la URL utilizada para acceder a Datadog es myorg.datadoghq.com, el subdominio personalizado es myorg. Por defecto: app |
test_search_query | Utiliza una consulta de búsqueda para seleccionar los tests Synthetic a ejecutar. Utiliza la barra de búsqueda de la página con la lista de tests Synthetic]15 para elaborar tu consulta, y luego cópiala y pégala. Por defecto: ninguno |
tunnel | Utiliza el túnel de Continuous Testing para iniciar tests en entornos internos. Por defecto: false |
variables | Sustituye las existentes o inyecta nuevas variables locales y globales en tests Synthetic como pares clave-valor, separados por nuevas líneas o comas. Por ejemplo: START_URL=https://example.org,MY_VARIABLE=My title. Por defecto: ninguno |
Referencias adicionales
Documentación útil adicional, enlaces y artículos: