Ich habe zwei Dropdown-Listen, eine mit einer Liste von Ländern und eine für Staaten/Regionen, die nicht bestückt ist, bis eines der Länder ausgewählt ist. Beide Dropdown-Menüs sind in ein Updatepanel eingeschlossen. Wenn ich die USA auswähle, ist die Status-Dropdown-Liste mit den 50 Staaten gefüllt und ich kann mich von dort fortbewegen.C# mit Selen Ajax DropDownList Frage
Wir verwenden Selenium, um Tests mit diesem Code auszuführen, und die Tests werden immer unterbrochen, wenn das Status-Dropdown erreicht wird. Es dauert entweder zu lange, um die Zustandsliste zu erzeugen, oder es kann die Werte einfach nicht finden, da sie nicht im ursprünglichen HTML-Code enthalten sind, der gerendert wird. Ich habe einige Dinge über ein Javascript-Feld "WaitForCondition" gesehen, kann aber keine Details darüber finden, wie man dies in der Selenium-Dokumentation verwendet. Ich bin kein javascript, aber ich bin auch nicht der Größte. Kann mir jemand erklären, wie Sie mein Dilemma lösen könnten, und wenn es erforderlich ist, Kenntnisse über das Feld WaitForCondition zu erlangen, können Sie mir erklären, wie ich das zum Funktionieren bringen kann?
Für den Rekord habe ich diesen Beitrag gesehen: (click here for semi-useful stackoverflow post), aber ich verstehe nicht, wie ich es auf meine eigene Situation beziehen. Vielen Dank im Voraus für alles, was Sie mir geben können.
Vielen Dank für die interessante Lösung. Ich war mit waitForCondition nicht vertraut, bevor ich den obigen Code gelesen habe. Ich denke jetzt ist die Frage: Was ist am einfachsten zu pflegen? Ein paar Zeilen Javascript oder die klobigen 'for'-Schleifen, die Selenium exportiert, wenn Sie die Wait-Methoden verwenden. :-) Ich würde generell mit der For-Schleife gehen, so dass es für Anfänger-Programmierer einfacher ist, meine Tests beizubehalten, aber ich würde daran interessiert sein, Ihre Meinung zu hören. –
Es ist keine Frage, dass das Javascript ein Schmerz ist. Ich hoffe, ich muss diese Lösung nicht oft verwenden, aber sie funktioniert sehr schnell und löst mein Problem. Wir werden letztlich eine sehr große Anzahl dieser Komponententests haben, deshalb wird Geschwindigkeit hier sehr geschätzt, viel mehr als Code-Lesbarkeit. Aber ich sehe definitiv, woher du kommst. Danke für Ihre Hilfe hier. – shizbiz