无法在Selenium中初始化页面工厂

时间:2016-05-22 12:50:52

标签: c# selenium selenium-webdriver webdriver automated-tests

我面临初始化元素的问题

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-如果某些元素隐藏在页面中,我可以初始化特定元素吗?

1 个答案:

答案 0 :(得分:0)

两件事:

  1. 我怀疑您输入了错误的内容,请正确复制并粘贴整个内容:

    static HomePageFactory HomePageFactory = new HomePageFactory(); //objects name shall not be same as the class
    
  2. 更改

    PageFactory.InitElements(Driver.Instance, HomePageFactory);
    

    PageFactory.InitElements(Driver.Instance, HomePageFactory.class);
    
  3. 注意 :您可以在班级使用Page Factory。