具有资源文件 c# Selenium 的 FindsBy 属性



在硒中使用PageObject模式,我想将所有定位器放在一个资源文件中。

想知道是否可能将 FindsBy 属性与资源文件一起使用

[FindsBy(How = How.Id, Using = "btnUserApply")]
public Button ApplyButton { get; set; }

变为如下所示,给出错误且无法完成

 [FindsBy(How = How.Id, Using = MyRexFile.btnUserApply)]
 public Button ApplyButton { get; set; }

FindsBy 也是密封的,所以不能继承。

有什么建议吗?

这是不可能的。 FindsBy注释接收 const(在编译中评估)字符串作为Using参数。资源文件中的数据在运行时计算。

您可以创建另一个类来保存所有定位器

public static class Locators
{
    public const string btnUserApply = "btnUserApply";
}
public class PageObject
{
    [FindsBy(How = How.Id, Using = Locators.btnUserApply)]
    public Button ApplyButton { get; set; }
}

最新更新