Wie man webDriver warten, bis das laden der Seite, (C# - Selen-Projekt)

Habe ich begonnen, ein Selen-Projekt in C#. Versuchen, zu warten, bis Seite geladen ist und erst dann gehen Sie zur nächsten Aktion.

Mein code sieht wie folgt aus:

 loginPage.GoToLoginPage();
        loginPage.LoginAs(TestCase.Username, TestCase.Password);
        loginPage.SelectRole(TestCase.Orgunit);
        loginPage.AcceptRole();

innen loginPage.SelectRole(TestCase.Org.):

 RoleHierachyLabel = CommonsBasePage.Driver.FindElement(By.XPath("//span[contains(text(), " + role + ")]"));
 RoleHierachyLabel.Click();
 RoleLoginButton.Click();

Ich Suche für element RoleHierachyLabel. Ich habe versucht, mehrere Möglichkeiten, um zu warten, bis das laden der Seite, oder suchen Sie für ein element-Eigenschaft, so dass für einige timeout:

1. _browserInstance.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));

2. public static bool WaitUntilElementIsPresent(RemoteWebDriver driver, By by, int timeout = 5)
    {
        for (var i = 0; i < timeout; i++)
        {
            if (driver.ElementExists(by)) return true;
        }
        return false;
    }

Wie würden Sie gegen das Hindernis?

InformationsquelleAutor clau84 | 2017-04-04

Schreibe einen Kommentar