0
votes

Cliquez sur un bouton généré de manière dynamique

Je vais donner "des dates" et "à des dates" et appuyez sur un bouton "Créer". La sortie attendue est

  1. n étuis trouvé de "des dates" à "à des dates" avec un bouton de téléchargement
  2. 0 cas trouvés de "des dates" à "à des dates" sans bouton de téléchargement

    dans le 1er scénario: xxx

    dans le 2e scénario: xxx

    Je suis réussi Lors du test du scénario postif (où les cas trouvés) xxx

    Comment puis-je vérifier si le texte "Résumé" contient "0 cas trouvés ..." Alors ne faites rien ou si Les cas trouvés, puis cliquez sur le bouton de téléchargement généré dynamiquement.


2 commentaires

Dans le deuxième scénario, l'élément H3 n'a pas l'identifiant "Résumé". Est-ce comment c'est en fait ou avez-vous oublié d'oublier de le mettre là-bas?


C'est comme ça que c'est réellement.


4 Réponses :


0
votes

Je recommande d'utiliser: EtudeConditions.TextTobePresenTIMELement

Il n'y a pas besoin d'utiliser si sinon - lorsque le test ne trouvera pas le test attendu, il échouera sur le délai d'attente.


3 commentaires

Est-ce que cela acceptera la partie du texte? De plus, l'élément "Résumé" est généré de manière dynamique et pour le scénario "0 cas", il n'y aura pas d'élément comme "Résumé"


Souhaitez-vous donner un exemple d'utilisation de TextTobeCresentinElement? J'ai essayé Var Flag = Browser.Wait (EC.TextTobePresentimement (Notes), 5000, '0 cas trouvés de 2019-02-19 à 2019-02-19'); et condition sur le drapeau (si sinon) pour cliquer sur le téléchargement, je n'ai toujours pas fonctionné


Vous avez les arguments dans le mauvais ordre. Il devrait être navigateur.Wait (EC.TextTobeCreSentimement (Notes, 0 cas trouvés de '), 5000)



0
votes

Vous pouvez simplement vérifier si le bouton de téléchargement est présent dans le DOM d'abord, puis cliquez dessus. Sinon, ne rien faire et passer à autre chose.

Ceci suppose que l'élément h3 code> a également l'attribut "Résumé" code> ID dans le deuxième scénario. P>

const notes = element(by.id('summary'));
await browser.wait(EC.visibilityOf(notes), 5000);

const downloadBtn = element(by.buttonText('Download'));
const flag = await downloadBtn.isPresent();

if (flag) {
    await downloadBtn.click();
}


3 commentaires

L'élément H3 ne sera pas auquel le «résumé» est dans le deuxième scénario.


J'ai essayé la solution proposée (sans les deux premières lignes d'identifiant "Résumé" n'existe pas dans le deuxième scénario. La valeur du drapeau est toujours vraie (valeur du drapeau: gérerPromise :: 916 {[[promonttatus]]: "En attente" }) et donne des erreurs à dire ne peut pas trouver le bouton de téléchargement


Lorsque j'exécute le test, il indique une erreur de syntaxe: identifiant inattendu "attendre", je l'ai supprimé, mais toujours l'erreur ci-dessus.



1
votes

pls Essayez l'extrait ci-dessous, xxx

acclamations!


1 commentaires

J'ai fait presque la même chose en utilisant Count et lorsque le nombre est de 1, la condition IF.



0
votes

1) Attendez que l'élément se situe à l'aide de conditions prévues (CE) 2) Utilisez le CSSContainingText («localisateur», «chaîne»)

ou bien

Écrivez le XPath dynamique en utilisant les éléments suivants ::


0 commentaires