Avec Selenium IDE, comment puis-je tester si le texte interne d'un élément contient une chaîne spécifique? Par exemple:
<p id="fred">abcde</p>
'id=fred' contains "bcd" = true)
Le documentation Selenium-IDE est utile dans cette situation.
La commande que vous recherchez est assertText
, le localisateur serait id=fred
et le texte par exemple *bcd*
.
Vous pouvez aussi utiliser:
assertElementPresent
css=p#fred:contains('bcd')
Cela peut être fait avec un simple caractère générique:
verifyText
id="fred"
*bcd*
Voir Selenium IDE Doc
Pouvez-vous utiliser jQuery si oui, essayez quelque chose comme
$("p#fred:contains('bcd')").css("text-decoration", "underline");
Il semble que les expressions régulières pourraient fonctionner:
"The simplest character set is a character. The regular expression "the" contains three
character sets: "t," "h" and "e". It will match any line with the string "the" inside it.
This would also match the Word "other". "
(Depuis le site: http://www.grymoire.com/Unix/Regular.html )
Si vous utilisez Visual Studio, il existe une fonctionnalité pour évaluer les chaînes avec des expressions régulières de TOUS les types (ne contient pas seulement):
using System.Text.RegularExpressions;
Regex.IsMatch("YourInnerText", @"^[a-zA-Z]+$");
L'expression que j'ai publiée vérifiera si la chaîne contient UNIQUEMENT des lettres.
Selon mon lien, votre expression régulière serait alors "bcd" ou une chaîne que vous construisez à l'exécution. Ou:
Regex.IsMatch("YourInnerText", @"bcd");
(Quelque chose comme ça de toute façon)
J'espère que cela a aidé.