我们如何在 selenium webdriver c# 中初始化页面工厂

How do we initialize Page factory in selenium webdriver c#

我们有用于 selenium webdriver c# 的页面对象吗?

我正在尝试使用带有 c# 绑定的 selenium webdriver 来计算页面对象,但找不到任何 .

是否有任何语句可以模仿 c# 中页面对象的初始化,就像下面 java 中的那样: ClassName obj=PageFactory.initElements(driverName, ClassName.class);

您在 C# 中有几个选项,它们与您在 Java 中使用的选项非常相似。 .NET PageFactory 实现位于 WebDriver.Support.dll 程序集中,这意味着您需要在项目中添加对它的引用。一旦你有了它,你就可以使用

// Assume MyPageObjectPage is your custom page object class.
// Of course, your constructor would likely be different, so
// you would need to change this to match your actual class
// structure.
// Further assume that driver is your IWebDriver instance.
MyPageObjectPage page = new MyPageObjectPage();
PageFactory.InitElements(driver, page);

或者,如果您想使用相同代码的 .NET 泛型版本,您可以这样做:

// Same assumptions as previous example.
MyPageObjectPage page = PageFactory.InitElements<MyPageObjectPage>(driver);

但是请注意,使用通用版本会对您的页面对象施加一些限制 class。具体来说,它必须公开一个采用单个参数的构造函数,并且该参数的类型必须为 IWebDriver.