2016-05-13 2 views
-1

Ich bin neu in C# Selen-Automatisierung.Warten auf eine Methode in einer neuen Klasse für die Wiederverwendung von Code. Selen C#

Kann mir jemand beibringen, wie man eine neue Methode unter der neuen Klassen- oder Erweiterungsmethode erstellt, damit ich diesen Code wiederverwenden kann.

new WebDriverWait(PropertiesCollection.driver, TimeSpan.FromSeconds(12)) 
       .Until(ExpectedConditions.ElementExists(By.Id("ctl00_Cont_frame"))); 
+0

WebDriverWait warten = neu WebDriverWait (Treiber, 20); wait.until (ExpectedConditions.visibilityOfAllElementsLocatedBy (XPath oder CSS ")));? –

+0

Oh meinen Sie mir den Wartebefehl wiederverwenden kann WebDriverWait wait = new WebDriverWait (Fahrer, 20); wait.until (ExpectedConditions.visibilityOfAllElementsLocatedBy (1 xpath-Element "))); *** Anderer Betrieb **** wait.until (ExpectedConditions.visibilityOfAllElementsLocatedBy (Another XPath-Element "))); *** Anderer Betrieb **** wait.until (ExpectedConditions.visibilityOfAllElementsLocatedBy (Ein weiteres xpath-Element "))); –

Antwort

0

Ohh Sie wollen eine Methode wiederverwenden. Das PAge-Objektmodell ist dafür sehr hilfreich. Angenommen, Ihre Hauptklasse ist A, und Sie möchten einige wiederverwendbare Methoden erstellen, erstellen Sie eine Klasse B und legen Sie diese Methode dort ab. Setzen Sie hier die Warte-Methode in Klasse B und rufen Sie sie dann aus der Klasse a auf, wenn Sie sie verwenden müssen.

mein Beispiel unten sehen,

Mein Haupttestfall:

SignInPage.WaitForElementTobeVisible(driver, By.cssSelector("input[id='Passwd'][type='password']")); 

es diese Klasse

public class SignInPage { 

public void WaitForElementTobeVisible(WebDriver driver, By by) { 
    WebUtils.WaitVisibilityOfElement(driver, by); 
    } 
} 

nennen Und schließlich wird dies nennen

public class WebUtils { 

public static void WaitVisibilityOfElement(WebDriver driver, By by) { 

WebDriverWait Wait = new WebDriverWait(driver, 30); 
Wait.until(ExpectedConditions.visibilityOfElementLocated(by)); 
    } 
} 

Hoffnung th löst deine Anfrage Antwort an mich für weitere Abfrage :-) Happy Learning

+0

Vielen Dank! Gut –

+0

Wenn Sie meine Antwort mögen. Markieren Sie einfach das Häkchen oder machen Sie die Upvote. IT wird mir helfen :-) Danke. :-) –

Verwandte Themen