不能调用";org.openqa.selenium.WebDriver.manage();因为";“这个司机”;是空的

不能调用";org.openqa.selenium.WebDriver.manage();因为";“这个司机”;是空的,selenium,Selenium,我创建了两个类。一个类用于webdriver初始化,另一个类扩展了第一个类的属性,这样我就不必反复初始化webdriver,然后使用该webdriver对象(来自第一个类)尝试执行一些操作。现在我的chrome已初始化,但进一步说,它没有在其中执行任何操作,并且显示无法调用“org.openqa.selenium.WebDriver.manage()”,因为“this.driver”为空。 请参考下面我的截图: [第一类][1] [第二类][3] [档案][2] [3] :java.io.IOE

我创建了两个类。一个类用于webdriver初始化,另一个类扩展了第一个类的属性,这样我就不必反复初始化webdriver,然后使用该webdriver对象(来自第一个类)尝试执行一些操作。现在我的chrome已初始化,但进一步说,它没有在其中执行任何操作,并且显示无法调用“org.openqa.selenium.WebDriver.manage()”,因为“this.driver”为空。 请参考下面我的截图:

[第一类][1]

[第二类][3]

[档案][2]

[3] :java.io.IOException

第一类


    import org.testng.annotations.Test;
    
    public class project1 extends project1classB {
        
    
        @Test
        public void basePageNavigation() throws IOException
        {
            
            driver = initializeDriver();
            driver.get("http://www.demo.guru99.com/V4/");
            
            
            
            
        }
    }`````

`


class 2

    ````import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.Properties;
    import java.util.concurrent.TimeUnit;
    
    import org.openqa.selenium.WebDriver;
    
    import org.openqa.selenium.chrome.ChromeDriver;
    
    
    public class project1classB  {
        public WebDriver driver;
    public WebDriver initializeDriver() throws IOException
    {
        Properties prop = new Properties();
        FileInputStream fil= new FileInputStream("C:\\Users\\mimo\\eclipse-workspace\\Guru99Assignment\\src\\data.properties");
        prop.load(fil);
        String browserName = prop.getProperty("browser");
        if(browserName.equals("chrome"))
        {
            System.setProperty("webdriver.chrome.driver", "C:\\Users\\mimo\\Desktop\\chromedriver.exe");
            WebDriver driver = new ChromeDriver();
            driver.get("http://www.demo.guru99.com/V4/");
            
            }
        else if(browserName.equals("firefox"))
        {
            
        }
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        return driver;  
    }
    
    }````


  [1]: https://i.stack.imgur.com/QQnyn.png
  [2]: https://i.stack.imgur.com/OHOda.png

您没有提供代码,但从收到的错误中可以清楚地看出,您没有初始化驱动程序对象实例。

我自己解决了这个问题。我在这里犯的错误是在我的2类中初始化了两次我的Webdriver,因此出现了此错误。

您好,感谢您的回复。我把截图贴在上面了。请单击类1和类2,让我知道您是否能够看到它们。我没有看到在那里传递的参数browserName。我想它应该来自TestNG,但你没有拍摄它。我还附上了我的文件截图,我从哪里获取BrowserName值。请调查一下。好吧,我们必须在那里调试。FileInputStream fil、prop.load(fil)、String Browsername……我认为我的第二个类没有错误,因为我能够从它成功地打开我的chrome浏览器,但是当从另一个类调用方法并使用该驱动程序对象进一步执行操作时,它失败了。我也用过这个关键词,但没有任何帮助。