Lanzamiento de GitHub Estado de compilación Licencia

Información general

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:

  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@v3.8.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.

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.

NombreDescripció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_timeoutEspecifica 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_pathLa ruta al archivo de configuración global que configura datadog-ci.
Por defecto: datadog-ci.json
datadog_siteTu 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_idsSustituye la lista de dispositivos en los que ejecutar tests Synthetic, separados por nuevas líneas.
Por defecto: ninguno
fail_on_critical_errorsFalla 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_testsFalla 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_timeoutFalla el trabajo CI si el lote CI falla por tiempo de espera excedido.
Por defecto: true
filesPatrones globales para detectar archivos de configuración de tests Synthetic, separados por nuevas líneas.
Por defecto: {,!(node_modules)/**/}*.synthetics.json
junit_reportEl nombre de archivo de un informe JUnit si quieres generar uno.
Por defecto: ninguno
locationsSustituye 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_pathSustituye 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_versionSustituye 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_idsID 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_rerunSi 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
subdomainEl 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_queryUtiliza 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
tunnelUtiliza el túnel de Continuous Testing para iniciar tests en entornos internos.
Por defecto: false
variablesSustituye 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: