Lancer un contrôle avec scenarioPlayer¶
Un contrôle correspond à l'exécution d'un scénario de test par scenarioPlayer.fmw. Chaque contrôle lance les traitements et assure les vérifications des différents tests du scénario puis il génère un rapport qui est horodaté.
Nous conseillons d'utiliser scenarioPlayer en ligne de commande ou mieux à partir d'un fichier .bat ou .sh. (Voir les exemples du tutoriel)
Bien que scenarioPlayer.fmw soit un projet FME, nous déconseillons de le lancer à partir de FME Workbench. Le fichier est d'ailleurs protégé par un mot de passe pour éviter ce type d'usage. Le projet reste cependant accessible aux développeurs pour des besoins d'étude, de débogage, ou de modification à partir de la section "Ressources pour les développeurs" de la documentation.
Utilisation en ligne de commande¶
La syntaxe générale est la suivante :
chemin_vers_fme chemin_vers_scenarioPlayer.fmw --parametre1 "valeur du paramètre 1" --parametre2 "valeur du paramètre 2"
Par exemple :
C:\fme.exe "C:\rtest\scenarioPlayer.fmw" --scenarioxml "C:\monprojet\sc_HelloWorld.xml"
Utilisation dans un fichier de commandes¶
La syntaxe est la même qu'en ligne de commande mais il est plus facile d'utiliser un chemin relatif vers le scénario de tests en définissant le répertoire de travail d'origine.
Exemple de fichier .bat sous Windows :
@ECHO OFF
CHCP 65001
cd %~dp0
ECHO Répertoire de travail : %CD%
fme.exe ..\..\scenarioPlayer.fmw --scenarioxml "./sc_HelloWorld.xml" --user "Frédéric"
CHCP 65001. Cette commande (optionnelle) permet d'utiliser la page de code utf-8 de Windows et ainsi de saisir des caractères accentués dans un fichier .bat. Par exemple "Frédéric".
cd %~dp0. Cette commande doit être utilisée si vous lancez le fichier .bat en environnement graphique à partir d'un double clic. Elle permet de définir le répertoire contenant le document .bat comme répertoire de travail. Cela permet d'utiliser un chemin relatif pour localiser scenarioPlayer.fmw
Note
Il est important de comprendre l'utilisation du répertoire de travail par scenarioPlayer. Cette notion est décrite dans la section Répertoire de travail et localisation des résultats de la documentation.
Liste des paramètres publiés de scenarioPlayer.fmw¶
scenarioxml¶
Description : Chemin complet du scénario de test au format XML.
Valeur attendue : Une chaîne de caractères. L'emplacement doit être absolu ou bien relatif au répertoire de travail en cours. Les caractères \ ou / peuvent être utilisés pour séparer les répertoires.
Valeur par défaut : Pas de valeur par défaut, ce paramètre est obligatoire.
userdestdir [Optionnel]¶
Description : Emplacement du répertoire contenant les résultats du contrôle, c'est à dire les sous-répertoires rtlog, rtcontrol et rtreport. Utilisez ce paramètre pour forcer l'écriture du résultat dans un répertoire spécifique.
Valeur attendue : Une chaîne de caractères. L'emplacement doit être absolu ou bien relatif au scénario de test. Les caractères \ ou / peuvent être utilisés pour séparer les répertoires.
Valeur par défaut : Chaîne vide. Dans ce cas le résultat est stocké dans le répertoire du scénario de test.
fmedir [Optionnel]¶
Description : Emplacement du répertoire contenant le moteur FME Desktop à utiliser pour l'exécution des traitements FME du scénario. Utilisez ce paramètre si vous souhaitez exploiter une instance de FME différente pour scenarioPlayer et pour les traitements FME décrits dans les process du scénario. Par exemple pour utiliser une instance plus ancienne que FME 2019.
Valeur attendue : Chemin du répertoire contenant l'exécutable fme.exe (Windows) ou fme (Linux). Les caractères \ ou / peuvent être utilisés pour séparer les répertoires.
Valeur par défaut : Chaîne vide. Dans ce cas l'instance FME utilisée pour exécuter les traitements FME est la même que celle utilisée pour scenarioPlayer.
user [Optionnel]¶
Description : Nom de l'utilisateur lançant le contrôle. Cette valeur apparaitra dans le rapport html face au libellé "Utilisateur".
Valeur attendue : Une chaîne de caractères.
Valeur par défaut : Chaîne vide.
rtestlist [Optionnel]¶
Description : Liste des identifiants des tests à lancer. Utilisez ce paramètre pour ne lancer que certains tests dans un scénario qui en compte plusieurs. Cette pratique peut être intéressante en phase de débogage pour réduire les temps d'exécution. Attention, l'exécution partielle peut modifier la logique d'un scénario et produire des résultats différents d'une exécution complète.
Valeur attendue : Liste d'identifiants de test séparés par une virgule. Les identifiants de test sont définis dans l'attribut id des éléments rtest du scénario XML, par exemple : <rtest id="hw.t1">
Exemple de valeur du paramètre rtestlist :
--rtestlist "hw.t1,hw.t2"
Valeur par défaut : Chaîne vide. Dans ce cas, tous les tests sont exécutés.
output¶
Paramètre optionnel
Description : Type de résultat produit par le contrôle : rapport html, données brutes au format json ou bien les deux.
Valeur attendue : Trois valeurs sont possibles, la casse doit être respectée : html : génère uniquement un rapport au format HTML dans le sous-répertoire ./rtreport json : génère uniquement un document JSON dans le sous-répertoire ./rtcontrol html+json : génère le rapport HTML et le document JSON dans leur sous-répertoire respectif.
Il est à noter que les fichiers de log sont toujours générés dans le sous-répertoire ./rtlog, quelle que soit la valeur du paramètre output.
Valeur par défaut : html.