2017-11-15 2 views
0

Wie rufe ich PageFactory.InitElements(driver, this) an, wenn Tests parallel ausgeführt werden? Muss ich: Haken in meinen Page-Klassen? Soll ich den Fahrer auf der Seite in meinem Test mit so etwas wie sein vorbei:Aufruf von PageFactory.InitElements in parallel laufenden Tests

Login pgLogin = PageFactory.InitElements(driver, Login.class); 

Ich bezweifle, dass ich die erste Person bin ein Framework Seite Object Model + Seite Fabrik + C# + NUnit3 zum Testen in Parallel zu bauen auf Selen Grid .. kann aber nicht viele Beispiele finden. Die meisten sind sehr simpel und stellen Treiber-Setup und einen Test in einer Methode dar, aber wenn man Komplexität durch mehrere Tests hinzufügt und Objekte von einer Page.cs referenziert, wird zusätzliche Logik benötigt, die ich einfach nicht kenne.

-Code unten:

Login.cs

Test.cs

Base.cs

Hooks.cs

Antwort

0

Sie können den Treiber-Objekt auf die Seite Objektklasse übergeben:

Prüfnorm aussehen wie:

WebDriver driver; 
public void yourTest(){ 
    Login login = new Login(driver); 
    your rest of the code ...... 
} 

Seite Objektklasse:

class Login{ 
WebDriver driver; 
public Login(WebDriver driver){ 
    this.driver = driver; 
    PageFactory.InitElements(this.driver, this); 
    ............... your code 
    } 
// required page elements like txtEmail. 
} 
Verwandte Themen