3 votes

Comment vérifier si l'utilisateur a été redirigé vers une nouvelle page dans Serenity ?

J'ai commencé à jouer avec Serenity BDD et le modèle de scénario en Java. Bien que je comprenne l'idée de base, j'ai un peu de mal à appliquer les concepts clés. Voici ce que j'aimerais faire...

Ma première tentative consiste à automatiser la connexion d'un utilisateur à l'application. Cela consiste en ce qui suit :

  1. Ouvrir une URL spécifique.
  2. Entrez les informations d'identification de l'utilisateur et cliquez sur le bouton "Envoyer".
  3. Vérifiez que l'utilisateur se trouve sur la "page de bienvenue".

J'ai réussi à mettre en œuvre les points 1 et 2, mais j'ai du mal avec le contrôle du point 3.

Le test JUnit

@Test
public void shouldBeAbleToLogin() {
    user.whoCan(BrowseTheWeb.with(browser));
    user.wasAbleTo(OpenTheApplication.onTheLoginPage());
    user.attemptsTo(SubmitUserCredentials.withValues("test", "test"));
    user.should(???);
}

Après avoir soumis les informations d'identification, l'utilisateur est redirigé vers la page de bienvenue. Le site ??? doivent indiquer que je n'ai pas d'idée solide sur la manière de mettre en œuvre cette vérification.

  1. Vérifiez que la nouvelle URL correspond à celle de la page d'accueil.
  2. Vérifiez qu'un certain texte est visible sur la page d'accueil.
  3. Vérifiez qu'un certain élément est visible sur la page d'accueil.

Je sais que j'aurais besoin d'implémenter une certaine classe de Question mais c'est tout. Pourriez-vous me donner un indice sur la manière de procéder ?

1voto

mrGe.org Points 13

Dans le BDD de Serenity, vous pouvez écrire une classe Question qui :

import statique net.thucydides.core.webdriver.ThucydidesWebDriverSupport.getDriver ;

implémente Question < Booléen >

en elle serait la méthode :

@Override
public Boolean answeredBy(Actor actor) {

et en elle vous pouvez :

    WebDriver driver = getDriver();
    String currentUrl = driver.getCurrentUrl();

et dans mon cas, j'avais une boucle pour effectuer quelques vérifications supplémentaires au cas où l'URL serait modifiée.

0voto

Huy Hóm Hỉnh Points 25

Dans ce cas, sérénité-assurance pourrait aider

Ensure.thatTheCurrentPage().currentUrl()

retourner l'URL en tant que StringEssure que nous pouvons utiliser la méthode String intégrée comme equals, contains pour vérifier.

J'espère que cela vous aidera !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X