Java 如何从类中启动构造函数?

Java 如何从类中启动构造函数?,java,selenium,selenium-webdriver,selenium-firefoxdriver,Java,Selenium,Selenium Webdriver,Selenium Firefoxdriver,我有这个问题,这让我发疯,我有这个班 package Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class Firefox { String keyFirefox = "webdriver.gecko.driver"; String valueFirefox = "...path/geckodriver.ex

我有这个问题,这让我发疯,我有这个班

    package Test;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Firefox {

    String keyFirefox = "webdriver.gecko.driver";
    String valueFirefox = "...path/geckodriver.exe";

    public Firefox(){
        System.setProperty(keyFirefox, valueFirefox);
    }

    WebDriver Firefox = new FirefoxDriver();
}
在我的主类中,我实例化了前一个类,并且可以毫无问题地访问属性

package Test;


public class EntryPoint {

    public static void main(String[] args) {


        Firefox firefoxBrowser = new Firefox();
        firefoxBrowser.Firefox.get("https://www.amazon.com.mx/");


    }

}
但当它编译时,会返回一个错误:

线程“main”java.lang.IllegalStateException中的异常:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置;有关详细信息,请参阅。最新版本可从


谢谢大家!

如果要在设置属性后创建驱动程序,请尝试

public class Firefox {

    static final String FIREFOX_DRIVER = "webdriver.gecko.driver";
    static final String FIREFOX_DRIVER_PATH = "...path/geckodriver.exe";

    WebDriver driver;

    public Firefox(){
        System.setProperty(FIREFOX_DRIVER, FIREFOX_DRIVER_PATH);
        driver = new FirefoxDriver();
    }


}

如果要在设置属性后创建驱动程序,请重试

public class Firefox {

    static final String FIREFOX_DRIVER = "webdriver.gecko.driver";
    static final String FIREFOX_DRIVER_PATH = "...path/geckodriver.exe";

    WebDriver driver;

    public Firefox(){
        System.setProperty(FIREFOX_DRIVER, FIREFOX_DRIVER_PATH);
        driver = new FirefoxDriver();
    }


}

Firefox
变量是在调用构造函数之前创建的
Firefox
变量是在调用构造函数之前创建的