Utiliser les variables d'environnement dans un script TA

worm
Messages : 2
Inscription : jeu. mai 19, 2016 8:15 am

Utiliser les variables d'environnement dans un script TA

Message par worm »

Bonjour,

je souhaite appeler un exécutable depuis un script TA. Pour cela, je créé un fichier .bat dans resources qui réalise effectivement l'appel.
Maintenant, dans ce .bat, je souhaiterais remplacer les chemins "en dur" par une variable d'environnement mais il semble que celle-ci ne soit pas remplacée par le moteur d'exécution.

[u]Le fichier .ta[/u]
[code]SETUP :
LOAD stf_launch.bat AS command.file

TEST :
CONVERT command.file TO file(param) USING $(application:googleTest) AS processedAppCommandFile
CONVERT processedAppCommandFile TO file(param) USING context_script_params AS processedCommandFile
CONVERT processedCommandFile TO query.shell USING $(timeout:1800000, streamlength:full) AS commandLine

EXECUTE local WITH commandLine AS result[/code]

[u]Le fichier .bat[/u]
[code]java -cp %TOOL_HOME%\testframework.jar;%TOOL_HOME%\plugins\${application}-tests.jar org.testng.TestNG[/code]

Avec cette écriture, le lancement échoue puisque le classpath fourni à java est invalide
En revanche, si je remplace la variable d'environnement par sa valeur réelle, le lancement se fait correctement

Avez-vous une solution ?
Karim Drifi
Messages : 119
Inscription : lun. nov. 30, 2015 2:45 pm

Utiliser les variables d'environnement dans un script TA

Message par Karim Drifi »

Bonjour,

Les variables d'environnement sont valorisées par l'OS et cela ne devrait pas poser problème.
Afin de comprendre ce qui échoue, pouvez vous exécuter ce script :
[code]
SETUP :
LOAD stf_launch.bat AS command.file

TEST :
CONVERT command.file TO file(param) USING $(application:googleTest) AS processedAppCommandFile
CONVERT processedAppCommandFile TO file(param) USING context_script_params AS processedCommandFile
CONVERT processedCommandFile TO query.shell USING $(timeout:1800000, streamlength:full) AS commandLine

EXECUTE local WITH commandLine AS result
ASSERT result IS success
[/code]

Vous aurez ainsi dans le rapport html un lien vers la sortie stdout et stderr qui pourra nous éclairer.

Je vois par ailleurs un problème dans votre fichier .bat, pouvez vous le remplacer par :

[code]
cmd.exe /C
java -cp %TOOL_HOME%\testframework.jar;%TOOL_HOME%\plugins\${application}-tests.jar org.testng.TestNG
[/code]

Certaines commandes ne sont reconnues par windows que dans une console (cmd.exe).

Bien cordialement,

Karim Drifi.
worm
Messages : 2
Inscription : jeu. mai 19, 2016 8:15 am

Utiliser les variables d'environnement dans un script TA

Message par worm »

Merci,

viens de tester et cela fonctionne
Le problème venait du fait que je n'avais pas mis le "cmd.exe /C" sur une autre ligne que la commande du programme

Le wiki dit: "For windows, start your command line with: cmd.exe /C"
Mais ne précise pas que cela doit être sur une autre ligne
Karim Drifi
Messages : 119
Inscription : lun. nov. 30, 2015 2:45 pm

Utiliser les variables d'environnement dans un script TA

Message par Karim Drifi »

Bonjour,

Merci pour votre retour, j'ai précisé le wiki.

Cordialement,

Karim Drifi.
Répondre

Revenir à « SKF »