And*_*erj 43 windows selenium selenium-chromedriver angularjs protractor
我按照本教程安装了量角器,当我使用webdriver-manager更新时,它说:
selenium standalone is up to date.
chromedriver is up to date.
Run Code Online (Sandbox Code Playgroud)
当你尝试进行量角器测试时,它说:
C:\Users\****\AppData\Roaming\npm\node_modules\protractor\lib\driverProviders\local.dp.js:42
throw new Error('Could not find chromedriver at ' +
^
Error: Could not find chromedriver at C:\Users\****\AppData\Roaming\npm\node_modules\protractor\selenium\chromedriver.exe
at LocalDriverProvider.addDefaultBinaryLocs_ (C:\Users\****\AppData\Roaming\npm\node_modules\protractor\lib\driverProviders\local.dp.js:42:15)
at LocalDriverProvider.setupEnv (C:\Users\****\AppData\Roaming\npm\node_modules\protractor\lib\driverProviders\local.dp.js:59:8)
at Runner.run (C:\Users\****\AppData\Roaming\npm\node_modules\protractor\lib\runner.js:308:31)
at process.<anonymous> (C:\Users\****\AppData\Roaming\npm\node_modules\protractor\lib\runFromLauncher.js:32:14)
at process.EventEmitter.emit (events.js:98:17)
at handleMessage (child_process.js:318:10)
at Pipe.channel.onread (child_process.js:345:11)
[launcher] Runner Process Exited With Error Code: 8
Run Code Online (Sandbox Code Playgroud)
我检查了local.dp.js并看到它试图从.. \node_modules\protractor\selenium\chromedriver加载chromedriver但是只有一个名为chromedriver_2.9的空zip文件.
所以我手动下载了chromedriver并将其复制到这个位置,产生了一个新的错误:
C:\Users\****\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1549
throw error;
^
Error: Server exited with 1
at Error (<anonymous>)
at ChildProcess.onServerExit (C:\Users\****\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\remote\index.js:193:11)
at ChildProcess.g (events.js:180:16)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at Process.ChildProcess._handle.onexit (child_process.js:797:12)
[launcher] Runner Process Exited With Error Code: 8
Run Code Online (Sandbox Code Playgroud)
任何想法?
sti*_*kis 64
我也面临着这个错误,当我阅读教程时,它没有涵盖如何安装量角器和webdriver作为项目的本地依赖项(位于./node_modules中).
如果这是您喜欢的(可能是因为您可能希望使用grunt-protractor-runner并在以后以连续构建方式运行测试)而不是全局安装,此解决方案对我有用:
npm install protractor --save-dev
./node_modules/protractor/bin/webdriver-manager update
调用此命令后,查看./node_modules/protractor
它和子文件夹以验证它.所谓的文件夹selenium
用chromedriver
在应该在它可用.
请注意,由于量角器未安装为"全局",因此从命令行调用它将导致"未找到commnad"错误.您可以使用以下命令运行它:
./node_modules/protractor/bin/protractor
另外,将一个脚本定义添加到package.json可能是一个好主意,这样下次从零开始安装所有依赖项时,npm会自动设置webdrivers.为此,将其添加到package.json文件中:
"scripts": {
"postinstall": "./node_modules/protractor/bin/webdriver-manager update"
}
希望这可以帮助你进一步......
Sne*_*thi 26
如果您在代理后面,请先尝试设置代理,然后运行webdriver update:
npm config set proxy http://<proxy.com>:port
webdriver-manager update
Run Code Online (Sandbox Code Playgroud)
Che*_*vas 23
我遵循该教程并遇到了同样的问题.这里的问题是你需要在量角器配置文件中指定你的selenium jar和chrome driver exe的路径.我的全局安装在AppData文件夹中,所以这就是我的protractor.confg.js文件的样子:
exports.config = {
specs: [
'test/e2e/**/*.js'
],
chromeDriver: 'C:/Users/<username>/AppData/Roaming/npm/node_modules/protractor/selenium/chromedriver.exe',
seleniumServerJar: 'C:/Users/<username>/AppData/Roaming/npm/node_modules/protractor/selenium/selenium-server-standalone-2.40.0.jar',
baseUrl: 'http://localhost:9000/'
};
Run Code Online (Sandbox Code Playgroud)
这似乎成功了.
bro*_*son 13
Jeez,这么多答案......
在Mac上,这对我有用:
$ npm install chromedriver
$ ln -sf ~/angular-phonecat/node_modules/chromedriver/bin/chromedriver node_modules/protractor/selenium/chromedriver.exe
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法来解决它,但至少这让我继续前进.
环顾四周后,我注意到angular phonecat repo中package.json
包含的文件定义了一个任务.update-webdriver
npm run update-webdriver
为我运行该任务(带)固定量角器.
归档时间: |
|
查看次数: |
61092 次 |
最近记录: |