我使用带有PageFactory的Page Object Model模式来初始化IWebElement
属性/字段。我的问题是,我想要使用不同的[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
属性初始化为base属性(id为#34; ctl00_contents_ctl27),而是覆盖了一个(id为otherId)。如何强制覆盖属性以使用其FindsBy属性进行初始化?
此致
Cybul26
答案 0 :(得分:0)
为什么不删除ConfigurationMenuPage
中的声明并让派生类声明它?一种解决方法是使用带有OR运算符的CSS选择器#ctl00_contents_ctl27, #otherId
。