如何closuresChromeDriver服务?

我已经尝试了一段时间来尝试closuresChromeDriver服务,我不能开发如何解决scheme。 我正在做一个使用摩卡和柴的unit testing。 由于错误,第一次testing通过,第二次失败。

我试图寻找在seleniumwebdrive / chrome.js模块,并找不到一个函数来closures服务。 我试图寻找答案,但无法在网上find任何东西。 也许我的方法来创build铬驱动程序需要重新devise。 我尝试使用'selenium-webdriver / chrome.js'.getDefaultService()。isRunning()在if语句中包装服务的创build和默认服务的设置,但是第一次testing失败。 我很困惑,这很可能是由于缺乏知识。

这个被调用的块在每个unit testing中被调用

var service = new chrome.ServiceBuilder(chromePath).build(); chrome.setDefaultService(service); driver = new webdriver.Builder() .withCapabilities(webdriver.Capabilities.chrome()) .build(); 

这是第一个没有错误地通过的unit testing

 it('Should pass if the Driver is set to equal the Chrome driver by using chrome', function() { var chromeDriver = Driver( { browserName: 'chrome' } ); expect(chromeDriver.getCapabilities().browserName).to.equal('Google Chrome'); }); 

这是导致它失败的第二个unit testing

 it('Should pass if the Driver is set to equal the Chrome driver by using google chrome', function() { var chromeDriver = Driver( { browserName: 'google chrome' } ); expect(chromeDriver.getCapabilities().browserName).to.equal('Google Chrome'); }); 

错误信息:

 Error: The previously configured ChromeDriver service is still running. You must shut it down before you may adjust its configuration. at Error (native) at Object.setDefaultService (C:\Users\charles.sexton\WebstormProjects\node_modules\selenium-webdriver\chrome.js:346:11) at module.exports (C:\Users\charles.sexton\WebstormProjects\JS-Selenium-Toolkit\src\OrasiDriver.js:90:16) at Context.<anonymous> (C:\Users\charles.sexton\WebstormProjects\JS-Selenium-Toolkit\test\test.js:28:32) at callFn (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runnable.js:315:21) at Test.Runnable.run (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runnable.js:308:7) at Runner.runTest (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:422:10) at C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:533:12 at next (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:342:14) at C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:352:7 at next (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:284:14) at Immediate._onImmediate (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:320:5) 

尝试从CMD执行这个命令:

 taskkill /T /F /IM chromeserver.exe 

当我使用selenium执行我的自动化脚本时,每次有这个驱动程序的新实例运行(你可以看到,如果你打开你的任务pipe理器)。

我使用Java进行脚本编写,所以我所做的就是在testing开始时添加以下代码来杀死任何活动的任务:

 Runtime.getRuntime().exec("taskkill /T /F /IM chromedriver.exe");