Je me demandais s'il y avait une possibilité de réaliser ce qui suit. Disons que j'ai 3 cas de test avec les résultats suivants dans RIDE:
${testcase}= Get Testcase Name Capture Page Screenshot ${testcase}
Je veux prendre une capture d'écran qui devrait être nommée testcase_christmas.png (ou avec '' au lieu de '_', cela fait pas important). Est-il possible de le faire dynamiquement, quelque chose comme
Testcase Easter -- PASS Testcase Christmas -- FAIL Testcase Foo -- PASS
ou quelque chose comme ça? J'utilise:
3 Réponses :
Le framework Robot définit automatiquement la variable $ {TEST NAME}
pour contenir le nom du test en cours d'exécution. Voir Variables automatiques dans le guide de l'utilisateur)
La documentation pour La Capture d'écran de la page de capture de SeleniumLibrary montre que vous pouvez lui donner un nom de fichier comme premier argument.
En mettant ces deux ensemble, vous pouvez faire ceci:
Capture page screenshot ${TEST NAME}.png
ty, était vraiment utile :)
La façon dont je procéderais est de créer un démontage de test et d'utiliser des variables automatiques pour le framework robot. Trouvé ici: http://robotframework.org/robotframework/latest/RobotFramework.Usml # automatic-variables
Votre page de mots clés / fichier de ressources doit avoir un mot clé de données de test de charge qui obtient le nom du test, ainsi que la définition d'une variable de test que vous pouvez également attribuer à la capture d'écran.
*** Settings *** Test Setup Load Test Data *** Testcases *** Test Case A My keywords [Teardown] Common Test Teardown
Votre test doit appeler le démontage de test que vous décidez d'utiliser.
*** Keywords *** Load Test Data ${data} Get File ${TEST NAME}.txt Set Test Variable ${data} ${data} Common Test Teardown capture page screenshot ${data}.png
L'appel de la configuration du test vous permet de charger le nom de chaque test dans votre et dans le démontage en cas d'échec prendra une capture d'écran avec le nom du scénario de test que vous avez chargé dans votre configuration de test.
ty encore, j'ai obtenu un peu de connaissances pendant la réponse, mais a implémenté le plus rapide ci-dessus
Si vous souhaitez enregistrer les captures d'écran sur la base du cas de test, c'est-à-dire. un dossier séparé pour toutes les captures d'écran liées à chaque cas de test. Ensuite, vous pouvez utiliser:
Définir le répertoire de captures d'écran ./Screenshots/${SUITE NAME} / $ {TEST NAME}
Capture d'écran ABC.png
Un répertoire Screenshot sera créé dans le dossier racine du projet où toutes les captures d'écran seront stockées dans différents dossiers en fonction du cas de test et des suites de tests.
Pour une seule suite, vous pouvez utiliser p >
Set Screenshot Directory ./Screenshots/${TEST NAME}