Was ist die alternative zum Gewinde.Schlafen bei der Arbeit mit Selen im system testen?

Ich habe eine TestMethod mit Selen als unten:

 [TestMethod]
        public void ShouldSendPasswordReminder()
        {
            //go to loginregister url
            _fireFoxWebDriver.Navigate().GoToUrl(UkPaBaseUrl + "loginregister.aspx");
            Thread.Sleep(1000);

            //click the forgotten password
            _fireFoxWebDriver.FindElement(By.LinkText("Forgotten your password?")).Click();
            Thread.Sleep(1000);

            //enter your email address

            _fireFoxWebDriver.FindElement(By.Id("PasswordResetRequest1_PasswordResetRequest_Username"))
                .SendKeys("[email protected]");
            Thread.Sleep(1000);

            //click submit
            _fireFoxWebDriver.FindElement(By.Id("PasswordResetRequest1_PasswordResetRequest_PasswordResetRequestSubmit")).Click();
            Thread.Sleep(5000);

            //assert
            Assert.IsTrue(_fireFoxWebDriver.Url.Contains("ThankYou"));
        }

Wie Sie sehen können, würde ich den Aufruf-Thread.Schlaf viele Male (weil die Seite kann einige Zeit dauern, um abzuschließen, was es tut, durch javascript, etc) fast nach jeder Aktion, weil Selen nicht zu sein scheinen in der Lage zu handhaben-Seite geladen und Verzögerungen, die im Gegensatz zu WatiN.

Dies macht den code eher hässlich und nicht sehr zuverlässig.

Was ist der bessere Weg, um solche Szenarien? Schreibst du häufiger Threads.Schlaf-Anrufe " in den tests als gut?

Dank,

InformationsquelleAutor The Light | 2012-01-26
Schreibe einen Kommentar