J'utilise un modèle d'objet de page. Et sur mon site web la plupart des pages ont un menu, donc je pensais que je devais créer une classe MenuPage que toutes les autres pages qui ont un menu l'étendraient. Mais maintenant je voudrais regrouper tous mes WebElement du menu pour les séparer de celui de la page actuelle. En d'autres termes, si un élément est directement sur la page, j'accéderais à quelque chose comme ça.Java selenium Page Objet Menu
MyPage mypage = new MyPage(); /*MyPage extends MenuPage*/
mypage.myWebElement.click();
Mais si le WebElement fait partie du menu, et ne fait pas partie de MyPage, je voudrais y accéder à partir
MyPage mypage = new MyPage(); /*MyPage extends MenuPage*/
mypage.menu.myWebElement.click();
Je sais que je pourrais créer un menu de classe et d'instance dans MenuPage , mais comme il ne sera utilisé que là, je préférerais ne pas l'avoir séparé de la classe MenuPage. Et aussi, le menu a aussi un sous-menu, et donc je voudrais le représenter avec des champs à plusieurs niveaux. Et avoir une nouvelle classe pour chaque sous-menu pourrait faire beaucoup de classe pour si peu.
Quelle serait la meilleure façon de le faire, ou connaissez-vous un autre moyen d'aborder le problème?
Je pense que vous voyez une partie de l'argument pour la composition de l'héritage avec la façon dont cela devient compliqué en utilisant l'héritage. Je ne suis pas sûr de comprendre totalement ce qui se passe avec les sous-menus, mais si vous pouvez clarifier un peu, il y a probablement quelques approches différentes que vous pouvez utiliser ici. – mrfreester