[英]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.