2017-02-10 77 views
1

我以Protractor的设置步骤为指导,仍然无法运行测试。Windows 7中的量角器问题

下面我有系统中的当前图像和异常错误。

npm -v 
3.10.10 

protractor --version 
Version 5.1.1 

我跑webdriver-manager status

I/status - selenium standalone version available: 3.0.1 [last] 
I/status - chromedriver version available: 2.27 [last] 
I/status - geckodriver version available: v0.14.0 [last] 
I/status - IEDriverServer is not present 
I/status - android-sdk is not present 
I/status - appium is not present 

我跑webdriver-manager start

C:\Users\n.markakis\Downloads>webdriver-manager start 
[15:49:39] I/start - java -Dwebdriver.chrome.driver=C:\Users\n.markakis\AppData\ 
Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chro 
medriver_2.27.exe -Dwebdriver.gecko.driver=C:\Users\n.markakis\AppData\Roaming\n 
pm\node_modules\protractor\node_modules\webdriver-manager\selenium\geckodriver-v 
0.14.0.exe -jar C:\Users\n.markakis\AppData\Roaming\npm\node_modules\protractor\ 
node_modules\webdriver-manager\selenium\selenium-server-standalone-3.0.1.jar -po 
rt 4444 
[15:49:39] I/start - seleniumProcess.pid: 1404 
15:49:40.173 INFO - Selenium build info: version: '3.0.1', revision: '1969d75' 
15:49:40.174 INFO - Launching a standalone Selenium Server 
2017-02-10 15:49:40.189:INFO::main: Logging initialized @208ms 
15:49:40.232 INFO - Driver class not found: com.opera.core.systems.OperaDriver 
15:49:40.232 INFO - Driver provider com.opera.core.systems.OperaDriver registrat 
ion is skipped: 
Unable to create new instances on this machine. 
15:49:40.233 INFO - Driver class not found: com.opera.core.systems.OperaDriver 
15:49:40.233 INFO - Driver provider com.opera.core.systems.OperaDriver is not re 
gistered 
15:49:40.238 INFO - Driver provider org.openqa.selenium.safari.SafariDriver regi 
stration is skipped: 
registration capabilities Capabilities [{browserName=safari, version=, platform 
=MAC}] does not match the current platform VISTA 
2017-02-10 15:49:40.267:INFO:osjs.Server:main: jetty-9.2.15.v20160210 
2017-02-10 15:49:40.287:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletC 
[email protected]{/,null,AVAILABLE} 
2017-02-10 15:49:40.389:INFO:osjs.ServerConnector:main: Started [email protected] 
3e6fa38a{HTTP/1.1}{0.0.0.0:4444} 
2017-02-10 15:49:40.390:INFO:osjs.Server:main: Started @410ms 
15:49:40.390 INFO - Selenium Server is up and running 

后,下面我有conf.js文件和一个简单的spec.js后。

//conf.js 
exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['spec.js'], 
}; 

// spec.js 
describe('angularjs homepage todo list', function() { 
    it('should add a todo', function() { 
     browser.get('https://angularjs.org'); 

     element(by.model('todoList.todoText')).sendKeys('write first protractor test'); 
     element(by.css('[value="add"]')).click(); 

     var todoList = element.all(by.repeater('todo in todoList.todos')); 
     expect(todoList.count()).toEqual(3); 
     expect(todoList.get(2).getText()).toEqual('write first protractor test'); 


     todoList.get(2).element(by.css('input')).click(); 
     var completedAmount = element.all(by.css('.done-true')); 
     expect(completedAmount.count()).toEqual(2); 

    }); 
}); 

在项目的路径我运行protractor conf.js,这是错误:

C:\Users\n.markakis\Desktop\angulartest>protractor conf.js 
[16:15:32] I/launcher - Running 1 instances of WebDriver 
[16:15:32] I/hosted - Using the selenium server at http://localhost:4444/wd/hub 
[16:15:34] E/runner - Unable to start a WebDriver session. 
[16:15:35] E/launcher - Error: WebDriverError: no such session 
    (Driver info: chromedriver=2.27.440174 (e97a722caafc2d3a8b807ee115bfb307f7d2cf 
d9),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provid 
e any stacktrace information) 
Command duration or timeout: 201 milliseconds 
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0 
700' 
System info: host: 'nmarkakis', ip: '10.10.33.23', os.name: 'Windows 7', os.arch 
: 'amd64', os.version: '6.1', java.version: '1.8.0_121' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{message=session not created exception 
from disconnected: Unable to receive message from renderer 
    (Session info: chrome=56.0.2924.87) 
    (Driver info: chromedriver=2.27.440174 (e97a722caafc2d3a8b807ee115bfb307f7d2cf 
d9),platform=Windows NT 6.1.7601 SP1 x86_64), platform=ANY}] 
Session ID: 445c29ade3bc107eeb5d284587184d6f 
    at WebDriverError (C:\Users\n.markakis\AppData\Roaming\npm\node_modules\prot 
ractor\node_modules\selenium-webdriver\lib\error.js:27:5) 
    at Object.checkLegacyResponse (C:\Users\n.markakis\AppData\Roaming\npm\node_ 
modules\protractor\node_modules\selenium-webdriver\lib\error.js:505:15) 
    at parseHttpResponse (C:\Users\n.markakis\AppData\Roaming\npm\node_modules\p 
rotractor\node_modules\selenium-webdriver\lib\http.js:509:13) 
    at doSend.then.response (C:\Users\n.markakis\AppData\Roaming\npm\node_module 
s\protractor\node_modules\selenium-webdriver\lib\http.js:440:13) 
    at process._tickCallback (internal/process/next_tick.js:103:7) 
From: Task: WebDriver.manage().timeouts().setScriptTimeout(11000) 
    at thenableWebDriverProxy.schedule (C:\Users\n.markakis\AppData\Roaming\npm\ 
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver.js:816:17) 

    at Timeouts._scheduleCommand (C:\Users\n.markakis\AppData\Roaming\npm\node_m 
odules\protractor\node_modules\selenium-webdriver\lib\webdriver.js:1500:25) 
    at Timeouts.setScriptTimeout (C:\Users\n.markakis\AppData\Roaming\npm\node_m 
odules\protractor\node_modules\selenium-webdriver\lib\webdriver.js:1483:17) 
    at browser_.ready.browser_.ready.then.then (C:\Users\n.markakis\AppData\Roam 
ing\npm\node_modules\protractor\lib\runner.ts:281:49) 
    at ManagedPromise.invokeCallback_ (C:\Users\n.markakis\AppData\Roaming\npm\n 
ode_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1366:14) 
    at TaskQueue.execute_ (C:\Users\n.markakis\AppData\Roaming\npm\node_modules\ 
protractor\node_modules\selenium-webdriver\lib\promise.js:2970:14) 
    at TaskQueue.executeNext_ (C:\Users\n.markakis\AppData\Roaming\npm\node_modu 
les\protractor\node_modules\selenium-webdriver\lib\promise.js:2953:27) 
    at asyncRun (C:\Users\n.markakis\AppData\Roaming\npm\node_modules\protractor 
\node_modules\selenium-webdriver\lib\promise.js:2813:27) 
    at C:\Users\n.markakis\AppData\Roaming\npm\node_modules\protractor\node_modu 
les\selenium-webdriver\lib\promise.js:676:7 
    at process._tickCallback (internal/process/next_tick.js:103:7) 
[16:15:35] E/launcher - Process exited with error code 100 

我有重复从量角器版本4.0.10安装步骤5.1.1

Chrome版本从5456

最后我试着在OS X El Capitan中安装相同版本的设置,一切正常......但需要在Windows的操作系统中。

如果有任何细节遗漏,请立即回复。 非常感谢您的帮助。

+0

如果你没有网格设置,我会建议不要在配置文件中使用'seleniumAddress'。尝试从你的配置文件中删除它。此外,添加jamsinenodeoptions来处理超时 – Barney

+0

感谢您的答复。我删除了“seleniumAddress”,并且还添加了“jamsinenodeoptions”。 –

+0

我不同意上面的评论。你正在使用'seleniumAddress',这是有道理的,因为你使用'webdriver-manager start'启动了一个硒独立服务器。我会建议采取该网址('http:// localhost:4444/wd/hub')并在Chrome浏览器上进行导航。从那里你应该可以手动启动Chrome会话。如果您无法导航到该网址,我会检查您的环境,如果本地主机是127.0.0.1。 'jasmineNodeOptions'对于您的量角器测试启动后非常重要。 – cnishina

回答

0

导致此错误的原因是内部企业防病毒。这是阻止chromedriver.exe ...