繁体   English   中英

使用资源文件c#Selenium的FindsBy属性

[英]FindsBy attribute with resource file c# Selenium

在selenium中使用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; }
}

暂无
暂无

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

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