J'essaie de convertir mes tests au sélénium pour utiliser le Modèle d'Objet de Page (et, par extension, @FindBy). J'ai plusieurs définitions d'objets comme celui-ci:Selenium/PageFactory: Trouver des éléments enfants en utilisant l'élément parent @FindBy?
public WebElement objectParent() {
return driver.findElement(By.name("parent-id")) ;
}
public WebElement objectChild() {
WebElement elem = objectParent();
return elem.findElement(By.name("child-id")) ;
}
Converting l'objet parent à l'aide @FindBy
est facile:
@FindBy(name = "parent-id")
WebElement parentObj;
Fondamentalement, je veux faire quelque chose comme ça, si possible (je sais que ce n » t vrai code, ceci est juste un exemple de pseudo:
@FindBy(name = "parent-id")
WebElement parentObj;
@FindBy(parentObj.name = "child-id")
WebElement childObj;
Mais est-il un moyen trop cibler l'élément enfant au sein t L'élément parent utilisant @FindBy?
. Je dois le faire de cette façon car je cible des éléments spécifiques sur la page qui peuvent partager le même nom ou le même nom de classe avec d'autres éléments de la page. Merci!
Voulez-vous dire les enfants de cet élément dans DOM? –
Oui. J'ai ajouté un exemple de pseudo-code ci-dessus. – kroe761
Est-ce que 'child' et' parent' peuvent être dans des classes différentes? –