J'utilise un modèle Page Object Model avec PageFactory pour initialiser IWebElement
propriétés/champs. Mon problème est que je veux avoir une classe dérivée qui a substitué IWebElement avec différents attributs [FindsBy]. Ma classe de base:Attribut FindsBy de substitution au sélénium dans la classe dérivée
public class ConfigurationMenuPage : PageInfo, IConfigurationMenuPage
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
[FindsBy(How = How.Id, Using = "ctl00_contents_ctl27")]
protected virtual IWebElement _campaignsConfigLink { get; set; }
Et ma classe dérivée:
public class ConfigurationMenuPage21 : ConfigurationMenuPage
{
[FindsBy(How = How.Id, Using = "otherId")]
protected sealed override IWebElement _campaignsConfigLink { get; set; }
Le problème est que _campaignsConfigLink
propriété initialise avec l'attribut de base (avec id « ctl00_contents_ctl27), au lieu overrided un (avec id otherId) Comment. puis-je forcer overrided propriété pour initialiser avec son FindsBy attribut?
Cordialement,
Cybul26
Merci pour la relecture. J'ai décidé de 'ConfigurationMenuPage' être une classe abstraite avec des propriétés abstraites et laisser les classes dérivées déclarer ses propriétés. –