Java Concombre: Comment obtenir des valeurs de paramètre de chaîne de toutes les étapes d'un scénario unique
Je suis à la recherche d'un moyen d'obtenir tous les paramètres qui sont passés dans chaque étape avant d'entrer dans le réel scénario pour chaque scénario dans ma fonction fichier.
Exemple de fonction fichier:
Feature: Login action
Background:
When "{login url}" is open
Scenario: Registered user provides valid username and password
Given user enters username "{username}" and password "test password"
And user clicks on "btnLogin"
Then user is logged in
Paramètres que je veux obtenir:
Ce que j'ai essayé jusqu'à présent:
J'ai essayé en utilisant un crochet qui sera automatiquement utilisée par tous mes scénarios:
public class ScenarioHook {
public ScenarioHook() {
}
@Before
public void setupScenario(Scenario scenario) throws InterruptedException {
//Here I am currently watching the {scenario} object and I can see all the steps
//but I still dont know where to get the passed parameter values.
}
@After
public void teardownScenario() throws InterruptedException {
}
}
Mise à JOUR 1:
La raison pourquoi je veux faire ce que je veux pour manipuler les chaînes de caractères (si possible). par exemple, toutes les données entre "{}" sera transformé en quelque chose d'autre avant d'entrer dans le réel scénario.
- Pouvez-vous veuillez donner quelques informations quant à pourquoi vous voulez le faire?
- Avoir mis à jour ma question avec les détails de pourquoi je le veux. Merci!
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
@Transform
annotation pour modifier la valeur du paramètre à l'étape de la définition.Pour cela, vous aurez besoin de créer une classe qui contient la logique de la chaîne de modification et sera de retour la valeur modifiée.
Ensuite, vous devez inclure cette classe dans votre stepdefinition à l'aide de @Transformer annotation en face de l'argument de méthode.
Cela devrait vous donner la nouvelle, transformée en chaîne. Vous pouvez l'utiliser pour créer des objets à partir de votre chaîne initiale. (En fait, c'est ce qu'il est utilisé pour les)
Concombre
Sceanario
classe ne sera pas vous fournir cette information que je ne pense pas que toutes les étapes sont en fait en cours de chargement et analysé avant de commencer l'exécution du scénario, mais analysés un par un au cours de l'exécution du scénario. Une option que je peux penser à est de créer un arrière-plan de l'étape où vous allez inclure manuellement tous les paramètres impliqués dans le scénario. Par exemple: