2017-08-22 28 views
0

J'utilise un modèle d'objet Page pour automatiser mes tests d'utilisation. Où je l'ai intégré avec du concombre. Maintenant dans le fichier de définition de pas de concombre que j'ai utilisé: @Before - Ici, j'initialise l'objet pilote - et passe cet objet pilote à chacune des pages.Comment scinder un fichier de définition d'étape dans un concombre à l'aide de sélénium Page Modèle d'objet

@Après - ici je ferme mon pilote.

Dans un autre code de colle, j'écris ma logique.

Maintenant, le problème auquel je suis confronté est que lorsque je veux diviser mon fichier de définition d'étape en deux. Là, je suis confronté à un problème car les fichiers de la deuxième étape de définition n'ont pas d'annotation @Before où il ne reçoit pas d'objet pilote.

Si j'ajoute @Before dans le 2ème alors deux instances de driver seront créées. que nous ne voulons pas. pouvez-vous m'aider à résoudre ce problème?

Répondre

0

Vous devez utiliser l'un des modules d'injection de dépendances pris en charge par cucumber-jvm pour partager WebDriver entre les étapes. Le plus simple est le PicoContainer, et vous pouvez trouver comment configurer ce link.

0

Vous devez pouvoir partager l'état entre les fichiers de définitions d'étapes. La façon idiomatique de le faire en Java est d'utiliser l'injection de dépendance.

J'ai écrit quelques messages de blog sur le sujet de l'état de partage entre les étapes de concombre à l'aide: