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épertoireSQUASH_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épertoireSQUASH_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
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.