7

我正在从 Java 环境迁移到 .NET,并且需要使用页面对象模型编写 Webdriver 测试。

在 Java 中,我将使用以下注释:

@FindBy(linkText = "More details")
WebElement moreDetailsButton;

请有人能告诉我如何使用 C# 定义 WebElement 吗?另外,PageFactory.initElements 的使用方式是否相同?

谢谢史蒂夫

4

1 回答 1

8

是的,有直接翻译。

您正在寻找FindsBy

[FindsBy(How = How.LinkText, Using = "More details")]
private IWebElement moreDetailsButton;

至于PageFactory.initElements,是的,它在 .NET 中是一个非常相似的东西,通常在 Page Object 的构造函数中调用:

public class LoginPage
{
    private IWebDriver _driver;

    public LoginPage(IWebDriver driver)
    {
        _driver = driver;
        PageFactory.InitElements(_driver);
    }
}

请注意,Selenium 项目是完全开源的。您可以在此处轻松查看 Page Objects 'helper' 类的来源。

于 2013-11-04T12:48:06.390 回答