3 Stimmen

Kann ich einen regulären Ausdruck in eine .Net Assertion einfügen?

Ich versuche, Seitenquelle aus einer Reihe von Seiten zu ziehen und führen Sie eine Behauptung auf die Ergebnisse, dies ist ein Test, der ausgeführt wird, um zu überprüfen, dass wir bestimmte Seiten in unserer Website crawling sind. Manchmal kommen die Ergebnisse mit einem anderen Fall für die URL-Zeichenfolge zurück. Ich möchte das in der Assertion berücksichtigen, in der ich die Seitenquelle überprüfe. Dies ist wahrscheinlich der falsche Weg, dies zu tun, aber ich frage mich, ob es eine Möglichkeit gibt, in der .Net Regex-Befehle, um die Assertion Text hinzufügen. Ich habe dies als eine Assertion:

Assert.IsTrue(driver.PageSource.Contains("/explore"));

Aber gibt es eine Möglichkeit, sicher zu sein, dass ich explore, Explore oder EXPLORE erfassen kann? Ich dachte, ich könnte hier (?i) verwenden, aber das scheint nicht zu funktionieren. Ich bin mehr daran gewöhnt, Perl und es ist Regex-Fähigkeiten, aber mit C# und .Net ich bin ein wenig verloren auf, wo ich kann und kann nicht die Inline-Regex-Befehle verwenden.

4voto

Ron Sijm Punkte 8125

Anthonys Antwort ist gültig, Sie brauchen nicht wirklich Regex. Aber wenn Sie sie verwenden möchten, können Sie

Regex.IsMatch(driver.PageSource, "/explore", RegexOptions.IgnoreCase)

2voto

Chris J Punkte 29515

Versuchen Sie es:

RegEx.Match("string", "regexp", RegExOptions.IgnoreCase).Success

1voto

Christoph Duerr Punkte 11

Wie wäre es mit der Verwendung von

StringAssert.Matches(string, regex);

In Ihrem Fall hieße das

StringAssert.Matches("drive.PageSource", "\/explore");

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X