Nous utilisons Sélénium et Fitnesse pour les tests d'interface utilisateur, où nous ouvrons Firefox et exécuter toutes les actions liées à l'interface utilisateur - cliquez, remplissez les champs, bouton de presse, etc.Comment contourner Fitnesse SetUp/TearDown pour un test individuel?
Dans le cadre de notre cadre de test actuel, FitnesseRoot a le SetUp/TearDown défini, pour ouvrir/détruire l'instance du navigateur. Toutes les suites et les tests (environ 300) utilisent SetUp/TearDown dans le cadre du test de l'interface utilisateur. J'essaie de remplacer l'un de nos tests simples par de nouveaux appareils pour les tests API, car les tests API sont bien plus rapides que les tests d'interface utilisateur. Le test lui-même fonctionne bien, mais le problème ici est que même si mes appareils REST ne nécessitent pas d'instance de navigateur, SetUp l'ouvre et TearDown essaie de le fermer, mais renvoie une exception (puisque le test en cours pointe vers la classe de pilote API , alors que les méthodes dans TearDown appartiennent à la classe UI Driver).
Je ne peux pas supprimer le SetUp/TearDown, car il a un impact sur 300 cas de test, comme mentionné ci-dessus. Est-il possible que je puisse empêcher un test spécifique d'utiliser SetUp/TearDown? Ou renvoyer le TearDown à la classe de pilote d'interface utilisateur, afin que le test ne lève pas une exception?
SetUp
:
|import |
|com.myapplication.fitnesse.ui|
|com.myapplication.util.restclient.fixtures|
!define slim.flags {-s 200}
!|script |
|start| my UI driver class|${SERVER}|${PORT}|FIREFOX|${PAGE_PATH}.${PAGE_NAME}|${PROXYSERVER}|
|debug mode |false |
test réel:
!define TEST_SYSTEM {slim}
| script | my API driver class | server ip:port | username | password|
| login |
| do something...|
TearDown
:
|script |
|logout |
|destroyDriver |