我面临初始化元素的问题
static HomePageFactory HomePageFactory = new HomePageFactory();
PageFactory.InitElements(Driver.Instance, HomePageFactory);
并抛出以下异常
结果消息:测试方法Form4_Tests.LoginTests.FirstLogin引发异常:System.ArgumentNullException:page不能为null参数名称:page结果StackTrace: 在OpenQA.Selenium.Support.PageObjects.PageFactory.InitElements(对象页面,IElementLocator定位器,IPageObjectMemberDecorator装饰器)的OpenQA.Selenium.Support.PageObjects.PageFactory.InitElements(ISearchContext驱动程序,对象页面)在Form4_Framework.HomePage.IsExist()中d:\ Test Automation \ Form4_Framework \ Form4_Framework \ HomePage.cs:第4行,位于Form4_Tests.LoginTests.FirstLogin()的d:\ Test Automation \ Form4_Framework \ Form4_Tests \ LoginTests.cs:第46行
1-我应该在哪里初始化页面工厂(测试方法,测试初始化或类初始化)?和
2-如果某些元素隐藏在页面中,我可以初始化特定元素吗?
答案 0 :(得分:0)
两件事:
我怀疑您输入了错误的内容,请正确复制并粘贴整个内容:
static HomePageFactory HomePageFactory = new HomePageFactory(); //objects name shall not be same as the class
更改
PageFactory.InitElements(Driver.Instance, HomePageFactory);
要
PageFactory.InitElements(Driver.Instance, HomePageFactory.class);
注意 :您可以在班级使用Page Factory。