Aller au contenu

Ranorex

Note

Ce plugin est disponible uniquement dans la version Ultimate de Squash.

Ce plugin fournit des fonctions qui gèrent les tests Ranorex. Il a été validé avec Ranorex 9.5 et devrait fonctionner avec toute version récente de Ranorex.

Il peut être utilisé directement dans un workflow, ou indirectement via des générateurs (comme ceux donnant accès aux gestionnaires de cas de tests).

Une installation Ranorex fonctionnelle doit être disponible dans les environnements d'exécution ciblés.

Les fonctions ont un préfixe de catégorie ranorex.

Fonctions

ranorex/ranorex@v1

Permet d'exécuter une suite de tests Ranorex.

Si la fonction est utilisée plus d'une fois dans un job, c'est à l'appelant de s'assurer qu'aucun résultat de test précédent ne persiste avant de lancer une nouvelle exécution de test.

Avant de lancer des tests dans l'environnement d'exécution, la fonction va vérifier 3 conditions et retourner un code d'erreur spécifique si l'une n'est pas remplie :

  • définition de la variable d'environnement SQUASH_MSBUILD_PATH(Code retour 91).
  • existence du fichier MSBuild.exe dans le répertoire SQUASH_MSBUILD_PATH (Code retour 92).
  • existence de fichier de test exécutable généré par MSBuild.exe (Code retour 93).

Entrants

La fonction a les entrants suivants :

  • solution (obligatoire)

    Le chemin de la solution a exécuter.

  • solution_file (obligatoire)

    Le nom du fichier de la solution .sln.

  • project (obligatoire)

    Le nom du projet à exécuter.

  • test_suite (facultatif)

    Le nom de la suite de test à exécuter, sans l'extension .rxtst (option /ts:YourTestSuite.rxtst).

  • test_container (facultatif)

    Le nom du container de test à exécuter (option /tc:YourTestContainer).

    Ne peut être utilisé que si test_suite est fourni.

  • global_params (facultatif)

    Paramètres globaux à transmettre au projet exécuté (option /pa:YourGlobalKey=YourGlobalValue pour chaque paramètre fourni).

  • test_container_params (facultatif)

    Pramètres à transmettre au container de test exécuté, s'il a été spécifié. Sera ignoré si aucun test_container n'a été fourni (option /tcpa:YourTestContainer:YourContainerKey=YourContainerValue pour chaque paramètre renseigné).

  • extra_options (facultatif)

    Paramètres supplémentaires à transmettre au projet exécuté (de manière libre). Injecté tel quel dans la ligne de commande.

    Pour voir la liste des paramètres disponibles, voir la documentation Ranorex.

Rapports

La fonction génère les rapports suivants :

  • ranorex-report.rxlog.data

    Un rapport Surefire (XML).

    Le rapport Surefire a le content-type application/vnd.opentestfactory.ranorex-data+xml.

  • ranorex-report.rxzlog

    Une archive TAR.
    Contient le rapport XML *.rxlog.data et toutes les fichiers externes référencés dans le rapport.

Exemple

- uses: ranorex/ranorex@v1
  with:
    solution: my\ranorex\solution
    solution_file: solution.sln
    project: name
    test_suite: name
    test_container: name
    global_params:
      name1: value1
      name2: value2
    test_container_params:
      name1: value1
      name2: value2
    extra_options: value

ranorex/execute@v1

Une fonction 'execute' destinée à être utilisée par les générateurs.

La fonction va vérifier 3 conditions et retourner un code d'erreur spécifique si l'une n'est pas remplie :

  • définition de la variable d'environnement SQUASH_MSBUILD_PATH(Code retour 91).
  • existence du fichier MSBuild.exe dans le répertoire SQUASH_MSBUILD_PATH (Code retour 92).
  • existence de fichier de test exécutable généré par MSBuild.exe (Code retour 93).

Format de la référence de test

Le format de la référence de test utilisé par ranorex/execute@v1 est le suivant :

  • {project}/{slnfile}#{ranorex_project}#{testsuite}[#{testcontainer}]

Avec :

  • {project} (obligatoire): nom du projet dans le dépôt de code source.
  • {slnfile} (obligatoire): chemin vers le fichier de la solution (avec l'extension .sln), à partir de la racine du projet.
  • {ranorex_project} (obligatoire): le nom du projet Ranorex à exécuter.
  • {testsuite} (obligatoire): le nom de la suite de test Ranorex à exécuter.
  • {testcontainer} (facultatif): le nom du cas de test Ranorex à exécuter.

Entrants

La fonction a les entrants suivants :

  • test (obligatoire)

    La référence de test.

Rapports

La fonction génère les rapports suivants :

  • ranorex-report.rxlog.data

    Un rapport Surefire (XML).

    Le rapport Surefire a le content-type application/vnd.opentestfactory.ranorex-data+xml.

  • ranorex-report.rxzlog

    Une archive TAR.
    Contient le rapport XML *.rxlog.data et toutes les fichiers externes référencés dans le rapport.

Exemple

- uses: ranorex/execute@v1
      with:
        test: my/ranorex/solution/solution.sln#project#testSuite#testContainer

ranorex/params@v1

Une fonction 'params' destinée à être utilisée par les générateurs.

Entrants

La fonction a les entrants suivants :

  • data (obligatoire)

    Les données à utiliser pour les tests automatisés.

  • format (obligatoire)

    Le format à utiliser pour les données des tests automatisés.

Exemple

- uses: ranorex/params@v1
  with:
    data:
      global:
        key1: value1
        key2: value2
      test:
        key1: value3
        key3: value4
    format: format

La valeur du format doit être SQUASHTM_FORMAT (tm.squashtest.org/params@v1).

data peut avoir 2 clés :

  • global pour les paramètres globaux.
  • test pour les paramètres de test.

Utilisé via l'inception

Pour plus d'information sur ce qu'est l'inception, merci de consulter "Inception".

Préchargez l'environnement d'exécution avec à minima les données du rapport d'exécution de tests.

Exemple

my_workflow.yaml
metadata:
  name: Ranorex Inception
resources:
  files:
  - report1
jobs:
  my_specific_job:
    runs-on: inception
    steps:
    - uses: actions/prepare-inception@v1
      with:
        ranorex-report.rxlog.data: ${{ resources.files.report1 }}
    - uses: ranorex/execute@v1
      with:
        test: my/ranorex/solution/solution.sln#project#testSuite#testContainer

Vous pouvez utiliser la commande suivante pour lancer l'exécution :

opentf-ctl \
    run workflow my_workflow.yaml \
    -f report1=output_1.xml
opentf-ctl ^
    run workflow my_workflow.yaml ^
    -f report1=output_1.xml
opentf-ctl `
    run workflow my_workflow.yaml `
    -f report1=output_1.xml

Configuration

Des hooks peuvent être définis pour les fonctions fournies. Cela peut être fait dans les définitions du workflow ou directement au niveau de l'orchestrateur afin qu'ils s'appliquent à tous les workflows.

La configuration au niveau de l'orchestrateur se fait en passant la variable d'environnement RANOREX_PROVIDER_HOOKS ou en ajoutant le hook dans le fichier de configuration /app/conf/ranorex.yaml.

Pour plus d'informations, merci de consulter la documentation de l'OpenTestFactory.