0
votes

Comment extraire le texte et valider un message de notification dans Protractor?

Problème: J'aimerais extraire du texte d'un élément et souhaiterais utiliser ce texte pour ajouter dans un message de validation. Comment puis-je réaliser ça?

Qu'est-ce que j'ai essayé jusqu'à présent? p>

Mon message de validation a une identification unique annexée au message. Par exemple (ID de l'histoire: 123 a été créé '). Donc, je voudrais obtenir l'identifiant de l'histoire puis l'ajouter à mon message de validation. P>

Veuillez trouver les extraits de code ci-dessous: p>

  1. localisateur pour obtenir le texte: p>

    élément (by.css ('. Story-ID')) CODE> P> LI>

  2. méthode utilisée pour affirmer le message de validation (de la carte PO): p> li> OL>

    async validateMessage(message) {
      await expect(element(by.css('.ng-star-inserted')).getText()).toEqual(message);
    }
    


0 commentaires

3 Réponses :


1
votes

Vous ne savez pas pourquoi vous devez transmettre le message comme paramètre si vous savez comment il devrait ressembler à ... mais au cas où votre message change (mais il contient toujours une pièce d'identité de l'histoire), vous pouvez écrire quelques espèces supplémentaires à Testez chaque message. Quelque chose comme ceci: xxx

et xxx

p. Si cssconteingtext ne fonctionne pas Utiliser xpath (vous n'avez pas inclus le HTML, donc je suppose que je devine ici).

Désolé à l'avance Si j'ai eu votre idée erronée


1 commentaires

Merci pour la réponse et appréciez vraiment vos efforts pour m'aider à cela!



1
votes
  1. attendre () code> n'a pas besoin attendre code> avant de cela. Mais je l'ai vu échouer lorsque vous ne le transmettez pas au paramètre qu'il faut. Donc, il devrait être attendre (attendre ollement.getext ()). TOBE ("String") CODE> P> LI>

  2. Ne vous attendez pas à une fonction! Pourquoi? Parce que si elle échoue, cela pointera sur le numéro de ligne où si l'échec et facilitent le processus de débogage. Tout comme une meilleure pratique p> li>

  3. Si vous souhaitez extraire le numéro à partir d'une chaîne 'ID de l'histoire: 123 a été créé' code> Utilisez REGEX P> LI>

    let str =  'Story ID: 123 has been Created',
        regex = /(Story ID:\s+)(\d+)/;
    
    let result = str.match(regex);
    
    console.log(result[2]); // 123 or any other integer that is there
    


1 commentaires

Merci pour la réponse et appréciez vraiment vos efforts pour m'aider à cela!



0
votes

Merci à tous pour des suggestions et des idées. J'ai pu la réaliser avec l'extrait de code ci-dessous. S'excuser si ma question n'était pas claire, mais que quelques réponses ont été vraiment utiles pour atteindre le ci-dessous. XXX


0 commentaires