У меня проблемы с CFSelenium/TestBox. Я развиваюсь на Windows 7 VM, Coldfusion 10. Я загрузил новую копию cfselenium от https://github.com/teamcfadvance/CFSelenium/archive/master.zip.CFSelenium «Не удалось запустить новый сеанс браузера»
Моя файловая структура
wwwroot |
cfselenium |
Selenium-RC |
Selenium-server-standalone-2.46.0.jar
Selenium.cfc
Server.cfc
Testbox |
… various testbox files
MySite |
Tests|
Specs |
… my test files
seleniumtest.cfc
Application.cfc
Index.cfm
MySite/Test/Application.cfc включает отображения для обоих testbox/и cfselenium /.
Тестовый набор, seleniumtest.cfc расширяет testbox.system.BaseSpec и его beforeAll() и Afterall() функции экземпляра селеном, запустить его, и разорвать его вниз:
component extends="testbox.system.BaseSpec" {
function beforeAll(){
// create Selenium class
selenium = new cfselenium.Selenium();
// Start it up.
selenium.start("mysite", "*chrome");
}
// executes after all suites+specs in the run() method
function afterAll(){
selenium.stop();
selenium.stopServer();
}
function run(testResults, testBox){
describe('selenium', function(){
// hello world equivalent
describe('equality', function(){
it('true should be true', function(){
expect(true).toBe(true);
});
});
});
}
}
Новое поведение: когда передавая следующее selenium.start():
selenium.start("https://www.google.com", "*googlechrome");
Я получаю следующее сообщение об ошибке:
The Response of the Selenium RC is invalid: Failed to start new browser session: java.lang.RuntimeException: org.openqa.selenium.os.WindowsRegistryException: Problem while managing the registry, OS Version '6.1', regVersion1 = false Build info: version: '2.42.2', revision: '6a6995d', time: '2014-06-03 17:42:03' System info: host: 'myhostname', ip: 'myvm_ip_address', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_67' Driver info: driver.version: unknown
Для всех других версий url или браузера я перехожу к selenium.start() (я пробовал '* chrome', '* firefox', '* iexplore', '* iexploreproxy'), я получаю следующую ошибку:
The Response of the Selenium RC is invalid: Failed to start new browser session: org.openqa.selenium.server.RemoteCommandException: Error while launching browser
Из трассировки стека, я вижу, что он терпит неудачу в selenium.DoCommand().
С другого сообщения SO было высказано предположение, что если порт 4444 в настоящее время используется, он может помешать работе с сервером Selenium-RC. Я перезагрузил свою виртуальную машину и проверить, что порт 4444 не используется, запустив
Netstat –an | find “4444”
После повторного запуска тестов, работает NETSTAT с одной и той же команды показали
TCP 0.0.0.0:4444 0.0.0.0:0 LISTENING
TCP 127.0.0.1:4444 127.0.0.1:49209 ESTABLISHED
TCP 127.0.0.1:49209 127.0.0.1:4444 ESTABLISHED
TCP [::]:4444 [::]:0 LISTENING
TCP [::1]:4444 [::1]:49208 ESTABLISHED
TCP [::1]:49208 [::1]:4444 ESTABLISHED
Глядя на журналы УТС, я см. следующее:
Apr 29, 2016 09:44:23 AM Information [ajp-bio-8012-exec-3] - Starting HTTP request {URL=' http://localhost:4444/selenium-server/driver/ ', method='POST'}
Должна быть папка селенового сервера под wwwroot? Это webdriver?
EDIT: Ответ на Dan, я загрузил chromedriver_win32 от http://chromedriver.storage.googleapis.com/index.html?path=2.21/, извлеченный в C: \ Program Files (x86) \ chromedriver, добавил это к моей PATH и перезагрузил виртуальную машину. После изменения драйвера от «* GoogleChrome» до «*» хрома, кажется, работают ... Я был в состоянии успешно выполнить следующий тест:
function testIncludes(){
selenium.open("https://www.google.com");
$assert.isEqual("Google", selenium.getTitle());
}
Так что я думаю, что мы на пути сюда.
Возможно, драйвер IE работает.
James - есть синтаксическая ошибка: super.beforeAll ('siteUnderTest', '* selectedBrowser); нужна еще одна цитата после * selectedBrowser ... может быть, вырезать и вставить ошибку? –
@MarkAKruger - да, исправно. – earachefl
Возможно, еще одна опечатка здесь, но первая одинарная цитата супервызова не является однонаправленной одиночной цитатой - 'super.beforeAll ('siteUnderTest','. И где вы получили 'cfselenium.BaseSpec', что вы расширяетесь из cfc? Я не вижу этого как часть проекта на GitHub. –