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

时间:2015-04-09 16:16:17

标签: java c# selenium selenium-webdriver pageobjects

我们是否有selenium webdriver c#的页面对象?

我正在尝试使用带有c#绑定的selenium webdriver来处理Page对象,无法找到任何。

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

1 个答案:

答案 0 :(得分:0)

您在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);

但请注意,使用通用版本会对页面对象类设置一些限制。具体来说,它必须公开一个带有单个参数的构造函数,该参数的类型必须为IWebDriver

相关问题