Lanzamiento de GitHub Estado de compilación Licencia

Información general

Con el paso synthetics-test-automation-bitrise-step-run-tests, puedes ejecutar tests de Synthetic durante tu Bitrise CI, asegurándote de que todos tus equipos que utilizan Bitrise pueden beneficiarse de los tests de Synthetic en cada etapa del ciclo de vida del software. Este paso utiliza el comando Datadog CI Synthetics.

Configuración

Este paso no está disponible en la Biblioteca de pasos oficial de Bitrise. Para empezar:

  1. 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@1.10.0:
  1. Añade tus claves de API y de aplicación a tus secretos en Bitrise.
  2. 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.

Cómo utilizar este paso a nivel local

Puedes ejecutar este paso directamente utilizando la CLI de Bitrise.

Para ejecutar este paso localmente:

  1. Abre tu terminal o línea de comandos.
  2. git clone el repositorio de Bitrise.
  3. cd en el directorio del paso (el que acaba de git clone).
  4. Crea un archivo .bitrise.secrets.yml en el mismo directorio que bitrise.yml. El archivo .bitrise.secrets.yml es un archivo ignorado por Git, por lo que puedes almacenar tus secretos en él.
  5. Consulta el archivo bitrise.yml para cualquier secreto que debas establecer en .bitrise.secrets.yml.
  6. Una vez que tengas los parámetros secretos necesarios en tu archivo .bitrise.secrets.yml, ejecuta este paso con la CLI de Bitrise: bitrise run test.

Un ejemplo de archivo .bitrise.secrets.yml:

envs:
- A_SECRET_PARAM_ONE: the value for secret one
- A_SECRET_PARAM_TWO: the value for secret two

Uso sencillo

Ejemplo de uso de identificadores públicos

- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@1.10.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@1.10.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@1.10.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 anulaciones de variables

- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@1.10.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 anulación global de configuración con configPath

Esta tarea anula la ruta del archivo global datadog-ci.config.json.

- git::https://github.com/DataDog/synthetics-test-automation-bitrise-step-run-tests.git@1.10.0:
   inputs:
   - api_key: <DATADOG_API_KEY>
   - app_key: <DATADOG_APP_KEY>
   - config_path: './synthetics-config.json'

Para ver un ejemplo de archivo de configuración, consulta el archivo 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@1.10.0:
   inputs:
   - api_key: <DATADOG_API_KEY>
   - app_key: <DATADOG_APP_KEY>
   - batch_timeout: 4200000
   - config_path: './global.config.json'
   - 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'
   - site: 'datadoghq.com'
   - subdomain: 'myorg'
   - test_search_query: 'tag:e2e-tests'
   - tunnel: true
   - variables: |
      START_URL=https://staging.website.com
      PASSWORD=$STAGING_PASSWORD      

Entradas

NombreRequisitoDescripción
apiKeyobligatorioTu clave de API de Datadog. Esta clave es creada por tu organización de Datadog y se accederá a ella como una variable de entorno.
appKeyobligatorioTu clave de aplicación de Datadog. Esta clave es creada por tu organización de Datadog y se accederá a ella como una variable de entorno.
batchTimeoutopcionalLa duración (en milisegundos) tras la cual el lote excede el tiempo de espera. El valor predeterminado es 30 minutos.
configPathopcionalLa configuración global de JSON se utiliza al lanzar los tests. Consulta el ejemplo de configuración para obtener más detalles.
deviceIdsopcionalAnula el dispositivo o dispositivos móviles para ejecutar tu test móvil.
locationsopcionalCadena de localizaciones separada por punto y coma para anular las localizaciones donde se ejecutan tus tests.
failOnCriticalErrorsopcionalUn indicador booleano que falla el trabajo de CI si no se activa ningún test, o si los resultados no pueden obtenerse de Datadog. El valor predeterminado es false.
failOnMissingTestsopcionalFalla el trabajo de CI si al menos un test especificado con un ID público (usando publicIds o publicados en un archivo de test) falta en una ejecución (por ejemplo, si ha sido borrado programáticamente o en el sitio de Datadog).
failOnTimeoutopcionalUn indicador booleano que falla el trabajo de CI si al menos un test excede el tiempo de espera predeterminado. El valor predeterminado es true.
filesopcionalPatrones glob para detectar archivos de configuración del test de Synthetic.
jUnitReportopcionalEl nombre de archivo para un informe de JUnit si deseas generar uno.
mobileApplicationVersionopcionalAnula la versión predeterminada de la aplicación móvil para un test de aplicación móvil de Synthetic. La versión debe cargarse y estar disponible en Datadog. Esta versión también se genera en el pasodatadog-mobile-app-upload .
mobileApplicationVersionFilePathopcionalAnula la versión de la aplicación para tests de aplicación móvil de Synthetic.
pollingTimeoutopcionalOBSOLETO La duración (en milisegundos) tras la cual datadog-ci deja de sondear los resultados de los tests. Utiliza --batchTimeout en su lugar.
publicIdsopcionalCadena de IDs públicos separados por comas para los tests de Synthetic que deseas activar.
siteopcionalEl sitio de Datadog al que enviar los datos. Si la variable de entorno DD_SITE está activada, tiene prioridad. Tu sitio de Datadog es .
subdomainopcionalEl nombre del subdominio personalizado configurado para acceder a tu aplicación de Datadog. Si la URL utilizada para acceder a Datadog es myorg.datadoghq.com, el valor subdomain debe establecerse en myorg.
testSearchQueryopcionalActiva los tests correspondientes a una consulta de búsqueda. Esto puede ser útil si estás etiquetando tus configuraciones de test. Consulta las prácticas recomendadas para obtener más información sobre el etiquetado.
tunnelopcionalActiva Entornos locales y de staging para interactuar con la API de Datadog.
variablesopcionalPares de clave-valor para inyectar variables en los tests. Deben formatearse utilizando KEY=VALUE.

Referencias adicionales

Más enlaces, artículos y documentación útiles:

PREVIEWING: dgreen15/github-error-fix