web-dev-qa-db-fra.com

Comment exécuter des cas de test spécifiques à partir d'une suite de tests à l'aide de Robot Framework

Je suis nouveau sur Robot et j'apprends à écrire la logique et à tester des cas.

J'ai une suite de tests, "mytestsuite.robot", qui a beaucoup de cas de test. J'ai quelques erreurs dans l'un de mes cas de test.

Comment exécuter uniquement ce scénario de test spécifique, car je ne veux pas exécuter à nouveau l'intégralité de la suite de tests?

Fichier mytestsuite.robot

testcase1
....
....
testcase2
....
....
testcase3
....
....
testcase4
....
....

Supposons que le scénario de test 3 a échoué, et je veux simplement réexécuter le scénario de test 3.

J'ai essayé d'utiliser:

pybot mytestsuite.robot -t testcase3

Mais je reçois une erreur.

20
Mysterio Man

Vous souhaitez utiliser l'option -t ou --test, mais l'option va avant le nom du fichier plutôt qu'après. Cela devrait fonctionner:

robot -t testcase1 mytestsuite.robot

L'ordre des arguments de la ligne de commande est décrit dans le guide de l'utilisateur sous une section intitulée Démarrage de l'exécution du test , et est également disponible sur la ligne de commande avec le --help option (par exemple pybot --help)

Le guide de l'utilisateur a une section intitulée Sélection des cas de test qui couvre ce sujet.

41
Bryan Oakley

Si vous souhaitez exécuter le scénario de test single dans Robot Framework, utilisez l'exemple ci-dessous.

Syntaxe: robot -t "Test Case Name" Test Suite Name
Exemple: robot - t "PON Type Test Case" Aquarium_Project.robot

Si vous souhaitez exécuter tous les cas de test dans Robot Framework, utilisez l'exemple ci-dessous

Syntaxe: robot Test Suite Name
Exemple: robot Aquarium_Project.robot

4
Logan M

Si vous utilisez __init__.robot fichiers qui ont des configurations et des démontages, vous ne pouvez pas appeler directement un test à partir d'un fichier de test si vous avez des structures de répertoires imbriquées comme suit:

|-- foo
    |-- bar.robot

Et le fichier bar.robot a un scénario de test nommé baz, dans ce cas, vous pouvez effectuer les opérations suivantes:

robot --test 'foo.bar.baz' foo

Avec une imbrication plus profonde:

|-- foo
    |-- bar
        |-- baz.robot

robot --test 'foo.bar.baz.*' foo

Vous pouvez utiliser * (astérisque) pour exécuter tous les cas de test dans la suite foo.bar.baz.

3
kzh