Pour l'élément ci-dessous, je ne suis pas capable de créer XPath car il ne contient que DIV et classe. Aussi comment créer des xpath dynamiques pour ce type de scénarios.
html est p> Le problème est que c'est peut-être dynamique afin que les valeurs telles que 2fa, pont, etc. puissent être sélectionnées comme case. P> J'apprécie votre aide. P> p>
4 Réponses :
La meilleure pratique ne reçoit plus XPATH pour même un test unitaire. Ajout de données-test = "Réponse-1" ou une meilleure valeur sémantique pour le test de données peut vous aider à mieux maintenir votre test. D'autres localisateurs ont tendance à briser vos tests plus souvent p>
Ensuite, comment effectuer un test d'automatisation?
Sélénium et cyprès supportent ce test de données. Vous pouvez mettre à jour vos sélecteurs pour utiliser un attribut de test de données et vous êtes plus sûr. Bien sûr, vous devez effectuer le test de données automatiquement, mais cette fois, il n'est plus lié à la structure HTML
Je ne connais pas Java par la tête, mais ici, un code PSEDEO:
var found = false;
var search = "2FA";
var usecases = driver.findElements(By.Class("campaign-usecase-item"); // returns 6 divs
foreach(var case in usecases) { // loop all divs
var label = case.findElement(By.Class("MuiGrid-grid-xs-6")); // find labels
if (label.text == search ) { // if label found
found = true;
case.findElement(By.TagName("input")).click(); // find first input within case div and click
break; //breaks for out of foreach loop
}
}
if(!found) throw exception("label {search} not found");
Vous pouvez essayer ceci: et vous pouvez définir le nom de la section souhaitée p> p>
J'ai vraiment aimé la façon dont vous trouvez XPath. Pouvez-vous me dire d'où je peux en apprendre davantage à ce sujet. J'ai pris votre conteneur XPath et utilisé en dessous de la réponse et cela a fonctionné. J'apprécie ton aide.
Vous pouvez voir plus de détails sur XPATH ici: guru99.com/xpath-selenium.html , aussi il y a beaucoup d'exemples
Automatiser la page Web, la façon dont il est conçu. Je vous suggère que le localisateur CSS Startegy ici.
Selon le snippet HTML ci-dessus, il ressemble à la grille, affiche les éléments sous forme de lignes de grille. P>
Identifiez d'abord les lignes de grille totale, c'est-à-dire P >
driver.findElements(By.cssLocator("[class*='MuiGrid-root campaign-usecase-
item']")).get(reuiredGridRowIndex ).findElements(By.cssLocator("
[class*="MuiGrid-root MuiGrid-item"]:not([style])")).get(1).getText()
Homme tu es génie. Ça marche. Pouvez-vous également me dire comment créer un sélecteur CSS comme vous, car votre méthode est incroyable. Je souhaite apprendre le sélecteur CSS afin que je puisse être bon dans la recherche de sélecteurs XPATHS ou CSS. S'il vous plaît guide et j'apprécie vraiment votre aide.