Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 实例化传递给它的参数的类';s构造函数显示字段初始值设定项不能引用非静态字段_Selenium_Selenium Webdriver_Bdd_Specflow - Fatal编程技术网

Selenium 实例化传递给它的参数的类';s构造函数显示字段初始值设定项不能引用非静态字段

Selenium 实例化传递给它的参数的类';s构造函数显示字段初始值设定项不能引用非静态字段,selenium,selenium-webdriver,bdd,specflow,Selenium,Selenium Webdriver,Bdd,Specflow,我已经开始在C#中的Selenium Webdriver中创建一个框架。我有一个基类和一个主页类。主页继承基类。 当我实例化HomePage类时,我得到一个错误: 字段初始值设定项无法引用非静态字段、方法或属性autobot_automation.Base.BasePageDriver.get 我已经在基类中声明了驱动变量,并在构造函数中初始化了它。我不知道为什么编译器会显示错误 我的基类是: using OpenQA.Selenium; using OpenQA.Selenium.Suppor

我已经开始在C#中的Selenium Webdriver中创建一个框架。我有一个基类和一个主页类。主页继承基类。 当我实例化HomePage类时,我得到一个错误:

字段初始值设定项无法引用非静态字段、方法或属性autobot_automation.Base.BasePageDriver.get

我已经在基类中声明了驱动变量,并在构造函数中初始化了它。我不知道为什么编译器会显示错误

我的基类是:

using OpenQA.Selenium;
using OpenQA.Selenium.Support.PageObjects;
using autobot_automation.Pages.HomePage;
using autobot_automation.Pages.Base;

namespace autobot_automation.Base
{
public class BasePage 
{
    public IWebDriver Driver { get; set; }

    public BasePage(IWebDriver driver) 
    {
        Driver = driver;
        PageFactory.InitElements(Driver, this);

    }

    public void GoToURL(string url)
    {
        Driver.Navigate().GoToUrl(url);
    }

    #region Page Objects
    public HomePage homepage = new HomePage(Driver);

    #endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Support.PageObjects;
using autobot_automation.Pages;
using autobot_automation.Base;

namespace autobot_automation.Pages.HomePage
{
    public class HomePage : BasePage
    {
        //private IWebDriver Driver { get; set; }

        public HomePage(IWebDriver driver) : base(driver)
        {
            //Driver = driver;
            //PageFactory.InitElements(Driver, this);       
        }
    }
}
我的主页类是:

using OpenQA.Selenium;
using OpenQA.Selenium.Support.PageObjects;
using autobot_automation.Pages.HomePage;
using autobot_automation.Pages.Base;

namespace autobot_automation.Base
{
public class BasePage 
{
    public IWebDriver Driver { get; set; }

    public BasePage(IWebDriver driver) 
    {
        Driver = driver;
        PageFactory.InitElements(Driver, this);

    }

    public void GoToURL(string url)
    {
        Driver.Navigate().GoToUrl(url);
    }

    #region Page Objects
    public HomePage homepage = new HomePage(Driver);

    #endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Support.PageObjects;
using autobot_automation.Pages;
using autobot_automation.Base;

namespace autobot_automation.Pages.HomePage
{
    public class HomePage : BasePage
    {
        //private IWebDriver Driver { get; set; }

        public HomePage(IWebDriver driver) : base(driver)
        {
            //Driver = driver;
            //PageFactory.InitElements(Driver, this);       
        }
    }
}
请给我一些建议来帮助我解决这个问题。
感谢行
公共主页=新主页(驱动程序)BasePage
中的code>。它将使用
驱动程序创建新的
主页
对象(
null
),然后使用
null
初始化
驱动程序
属性

我建议您创建某种支持类,它将保存
主页
实例,而不是
基本页


如果您坚持将其保留在那里(不是一个好的设计IMHO),请创建一个构造函数,它将接收一个
主页
对象作为参数。

谢谢,我现在已经得到了它