2016-04-28 10 views
0

Diese Frage bezieht sich auf Selen-Webdriver, die ich in C# verwendet habe.Warten, bis dynamischer Inhalt in Absatz geladen wird?

Für einen Testfall möchte ich einen Text bestätigen, der in ein Formular geladen wird. Dieser Text wird in ein div eingefügt, das ausgewählt ist durch; wait.Until(ExpectedConditions.ElementExists(By.CssSelector("div.introduction > h2")));

Der Inhalt in diesem Element ist jedoch dynamisch geladen. Aufgrund von Verarbeitungsproblemen ist das JavaScript nicht mit dem Ersetzen des zweiten Textes in diesem div 'div.introduction> h2'

getan. So bekomme ich Assert Fehler, wenn ich versuche, meinen Text in meinem Formular zu bestätigen. Ich könnte dieses Problem z. thread.sleep, aber ich möchte das verwenden. Aber ich habe keine Ahnung, wie ich dieses Problem lösen könnte.

+0

können Sie vor und nach der Anwesenheit des Textes bitte den Quellcode veröffentlichen –

Antwort

0

Vor dem Element Überprüfung könnten Sie eine wait-for-Ajax-Aufruf tun, etwas, das würde wie folgt aussehen:

wait.Until(d => (bool)(d as IJavaScriptExecutor).ExecuteScript("return jQuery.active == 0")); 
Verwandte Themen