Я пробовал некоторое время, чтобы попытаться отключить службу ChromeDriver, и я не могу разработать решение о том, как это сделать. Я делаю единичный тест, используя мокко и чай. Первый тест проходит, а второй - из-за ошибки.Как завершить работу службы ChromeDriver?
Я пробовал искать в модуле selenium-webdrive/chrome.js и не смог найти функцию для закрытия службы. Я попытался найти ответы, но ничего не нашел в Интернете. Возможно, мой подход к созданию драйвера chrome необходимо переделать. Я попытался обернуть создание службы и настройку службы по умолчанию в выражении if с помощью команды selenium-webdriver/chrome.js.getDefaultService(). IsRunning(), но он не прошел первый тест. Я смущен этим, и это, скорее всего, связано с недостатком знаний.
Этот блок называется вызывается во время каждого блока теста
var service = new chrome.ServiceBuilder(chromePath).build();
chrome.setDefaultService(service);
driver = new webdriver.Builder()
.withCapabilities(webdriver.Capabilities.chrome())
.build();
Это первый тестовый модуль, который проходит без ошибок
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');
});
Это второй тестовый модуль, который вызывает его на провал
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)
Это сообщение может быть в состоянии помочь вам HTTP: // stackoverflow.com/questions/21320837/release-selenium-chromedriver-exe-from-memory – KCaradonna
Я просто попытался создать пакетный файл и использовать require ('child_process'). exec ('cmd/c Kill_ChromeDriver.bat'); в node.js на окнах 7. – Grim
Такое же сообщение об ошибке и никаких новых сообщений об ошибках, командный файл находится в том же каталоге, что и package.json – Grim