繁体   English   中英

硒在派生类中重写FindsBy属性

[英]Selenium override FindsBy attribute in derived class

我将Page Object Model模式与PageFactory一起使用来初始化IWebElement属性/字段。 我的问题是我想拥有派生类,该派生类已用diffrent [FindsBy]属性覆盖了IWebElement。 我的基类:

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; }

和我的派生类:

 public class ConfigurationMenuPage21 : ConfigurationMenuPage
 {
    [FindsBy(How = How.Id, Using = "otherId")]
    protected sealed override IWebElement _campaignsConfigLink { get; set; }

问题是_campaignsConfigLink属性使用基本属性(ID为“ ctl00_contents_ctl27”)初始化,而被覆盖(ID为otherId)。我如何强制覆盖属性使用其FindsBy属性进行初始化?

问候,

Cybul26

为什么不只删除ConfigurationMenuPage中的声明,然后让派生类对其进行声明? 一种解决方法是将CSS选择器与OR运算符#ctl00_contents_ctl27, #otherId

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM