【问题标题】:What is the equivalent C# version of Java Webdriver @Findby?Java Webdriver @Findby 的等效 C# 版本是什么?
【发布时间】:2013-11-04 12:36:15
【问题描述】:

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

在 Java 中,我会使用以下注解:

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

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

谢谢 史蒂夫

【问题讨论】:

  • 这个已经回答过了,stackoverflow.com/questions/12592455/…
  • @Karl-JohanSjögren,不完全是,这个问题专门关于IWebElementList,而且这个问题太老了,现在已经被弃用了——这个属性有一个直接的翻译在 .NET API 中。
  • 好吧,如果您阅读更多该问题的第一段,您会发现在第一个答案中找到了 FindBy 的解决方案。
  • @Karl-JohanSjögren,它们是两个完全 不同 的问题,并且该问题中没有 no code example - OP 是 直接求

标签: c# selenium-webdriver pageobjects


【解决方案1】:

是的,有直接翻译。

您正在寻找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' classes here 的来源。

【讨论】:

  • 感谢您的回答。我只是设法同时在这里回答了我自己的问题link
猜你喜欢
  • 1970-01-01
  • 2016-10-28
  • 2011-04-27
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
相关资源
最近更新 更多