Ich baue eine Test-Framework für eine Website mit Selen Seite Object ModelSeite Object Model Praktiken
ich, dass im Allgemeinen denke, wenn ich zwei Seiten mit dem genauen Benutzern Bedienelemente und Funktionen, aber unterschiedlichen URLs ich schaffen soll Eine Vaterseitenklasse, die zwei Klassen davon erbt. Aber was, wenn ich die gleichen zwei Seiten mit verschiedenen Locators für Kontrollen habe? Was denken Sie? Denkst du, dass das Erstellen einer völlig separaten Klasse für jede Seite eine gute Übung sein wird? oder gibt es eine Möglichkeit, die Kinder Klassen Locator zu überschreiben? Ich weiß, dass ich PageFactory verwende.
Hier ist ein Beispiel
public class Header
{
[FindsBy(How = How.ClassName, Using = "logout_button")]
public IWebElement BtnLogout { get; set; }
public Header()
{
PageFactory.InitElements(Browser.Driver, this);
}
public void Logout()
{
this.BtnLogout.Click();
}
}
public class SecondHeader
{
[FindsBy(How = How.ClassName, Using = "logout")]
public IWebElement BtnLogout { get; set; }
public Header()
{
PageFactory.InitElements(Browser.Driver, this);
}
public void Logout()
{
this.BtnLogout.Click();
}
}
Verwenden Erbe, Eltern (Vater) Seite bauen und den Locator Wert als param geben, um die Kontrolle zu bekommen. HTH. –
Wie übergebe ich Locators bei Verwendung von [FindsBy (How = How.method, Using = Wert)] –
Können Sie den Beispielcode hier schnell posten? –