Wir verwenden Selenium, um die UI-Schicht unserer ASP.NET-Anwendung zu testen. Viele der Testfälle testen längere Abläufe, die sich über mehrere Seiten erstrecken.
Ich habe festgestellt, dass die Tests sehr fragil sind, nicht nur durch Code-Änderungen, die tatsächlich die Seiten ändern, sondern auch durch harmlose Refactorings wie die Umbenennung eines Steuerelements (da ich die ClientID des Steuerelements an die Klickmethode von Selenium übergeben muss, usw.) oder den Austausch eines GridViews durch einen Repeater. Als Ergebnis finde ich mich 'verschwende' Zeit damit, Zeichenfolgenwerte in meinen Testfällen zu aktualisieren, um defekte Tests zu beheben.
Gibt es einen Weg, um wartbarere Selenium-Tests zu schreiben? Oder ein besseres Web-UI-Testwerkzeug?
Bearbeitet, um hinzuzufügen: Normalerweise wird der erste Entwurf erstellt, indem ein Test im IDE aufgezeichnet wird. (Dieser erste Schritt kann vom QA-Personal durchgeführt werden.) Dann refaktoriere ich den generierten C#-Code (Extrahiere Konstanten, extrahiere Methoden für wiederholten Code, wiederhole möglicherweise den Testfall mit unterschiedlichen Daten, usw.). Aber der allgemeine Codefluss für jeden Testfall bleibt ziemlich nahe am ursprünglich generierten Code.
0 Stimmen
Schau dir Coypu an: Intuitive, robuste Browser-Automatisierung für .Net