我们是否有selenium webdriver c#的页面对象?
我正在尝试使用带有c#绑定的selenium webdriver来处理Page对象,无法找到任何。
是否有任何语句模仿c#中页面对象的初始化,就像下面的java中一样: ClassName obj = PageFactory.initElements(driverName,ClassName.class);
答案 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
。