Ich versuche meine Selentests zu konvertieren, um das Page Object Model (und damit @FindBy) zu verwenden. Ich habe mehrere Objektdefinitionen wie folgt aus:Selenium/PageFactory: Finden Sie untergeordnete Elemente mit @FindBy des Elternelements?
public WebElement objectParent() {
return driver.findElement(By.name("parent-id")) ;
}
public WebElement objectChild() {
WebElement elem = objectParent();
return elem.findElement(By.name("child-id")) ;
}
Converting das übergeordnete Objekt @FindBy
zu verwenden ist einfach:
@FindBy(name = "parent-id")
WebElement parentObj;
Grundsätzlich ich so etwas wie dies tun wollen, wenn möglich (ich weiß, dieses isn‘ t echten Code, ist dies nur ein Pseudo-Beispiel:
@FindBy(name = "parent-id")
WebElement parentObj;
@FindBy(parentObj.name = "child-id")
WebElement childObj;
Aber gibt es auch eine Möglichkeit, das Kind-Element innerhalb t zu Ziel Das übergeordnete Element verwendet @FindBy?
. Ich muss es auf diese Weise tun, weil ich bestimmte Elemente auf der Seite ankreuze, die denselben Namen oder Klassennamen mit anderen Elementen auf der Seite teilen. Vielen Dank!
Meinst du Kinder dieses Elements in DOM? –
Ja. Ich habe oben ein Pseudocode-Beispiel hinzugefügt. – kroe761
Können "Kind" und "Eltern" in verschiedenen Klassen sein? –