首页 文章

NullPointer异常在Chrome中通过Selenium webDriver运行testCases

提问于
浏览
0

我试图在Chrome上运行我的测试用例并且我已经复制了属性文件中的路径,但是控制台仍然会抛出恼人的语句,如:错误:chromedriver可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关更多信息,请参阅http://code.google.com/p/selenium/wiki/ChromeDriver . 最新版本可以从http://code.google.com/p/chromium/downloads/list FAILED CONFIGURATION下载:@BeforeTest startWebSession java.lang.NullPointerException

5 回答

  • 3

    我发现的一件事是无法从Eclipse中启动Chrome驱动程序 . 它必须从命令提示符运行 . 至少在Windows 7 64位上 .

    尝试从Eclipse中运行它会产生以下异常:

    线程“main”中的异常java.lang.IllegalStateException:webdriver.chrome.driver系统属性定义的chromedriver可执行文件不存在:C:\ Windows \ System32 \ chromedriver.exe

    只有Chrome才会出现此问题 . IE和FireFox在Eclipse中运行良好 .

  • 0

    http://code.google.com/p/chromedriver/downloads/list下载chrome驱动程序

    以下列方式初始化您的驱动程序对象 -

    System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");
    
        WebDriver driver = new ChromeDriver();
    

    通过这样做,chrome驱动程序可以正常工作 .

  • 0

    这是我如何初始化ChromeDriver:

    public RegulationUI() throws Exception{
       ChromeDriverService service = ChromeDriverService.createDefaultService();
       File file = new File(RegulationUI.class.getResource("/chromedriver.exe").toURI());
       System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, file.getAbsolutePath());                
       ChromeOptions options = new ChromeOptions();
       options.addArguments("--start-maximized");
       driver = new ChromeDriver(service,options);
    }
    

    BTW我的测试类名为 RegulationUI

    试试这个,它对我有用,而且,我知道这是“多计算机”解决方案 - 我们的项目是颠覆的,这样每个人都可以运行它,即使我们有不同的设置,确切地在磁盘上IDE的“工作文件夹”是

  • 0
    Please download chromedriver.exe for Google chrome browser 
        please download IEdriver.exe for Internet explore.
    

    请将这些文件保存在Windows的根文件夹中以简化操作 . 让我们考虑安装在c:\(C Driver)上的操作系统在C-Drive上创建文件夹名Selenium并保留这些二进制(.exe)文件 . 像c:\ selenium

    in your Testcase/testScript Write as 
    
        //For Chrome Browser:
        Webdriver driver = new ChromeDriver();
        java.io.File file = new File("c:\\selenium\\chromedriver.exe");     
        System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
    
  • 2

    如果您正在使用maven,请尝试在您的pom中使用以下内容:

    <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>RELEASE</version>
        </dependency>
    

    并在你的设置中使用它像chrome一样:

    ChromeDriverManager.getInstance().setup();
        driver = new ChromeDriver();
    

相关问题