我想要实现的目标 在Ubuntu 14 non gui上成功运行无头镀铬的量角器测试。
设置 使用多个参考页面我已成功安装:Xvfb Chrome最新浏览器Protractor 3.3.0 Java 7(也尝试使用Java 8)并且还设置了LOCAL_HOME。此外,设法使用this reference.
启动Xvfb量角器conf
exports.config = {
baseUrl: 'http://<qa environment>',
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
jasmineNodeOpts: {
showColors:true,
defaultTimeoutInterval: 2500000
},
capabilities: {
'browserName': 'chrome'
},
specs: ['administration/*-spec.js'], //'signinandout/*-spec.js', 'homepage/*-spec.js',
onPrepare: function(){
//browser.driver.manage().window().setSize(1280, 1080);
}
}
异常堆栈跟踪:
/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/error.js:26 构造函数(opt_error){ ^ WebDriverError:未知错误: Chrome无法启动:退出异常(驱动程序信息: chromedriver = 2.21.371461 (633e689b520b25f3e264a2ede6b74ccc23cb636a),平台= Linux的 3.13.0-87-generic x86_64 )(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:60.16秒 构建信息:版本:'2.52.0',修订版:'4c2593c',时间:'2016-02-11 19:06:42'系统信息:主持人:'vagrant-ubuntu-trusty-64',ip: '10 .0.2.15',os.name:'Linux',os.arch:'amd64',os.version: '3.13.0-87-generic',java.version:'1.7.0_101'驱动程序信息: org.openqa.selenium.chrome.ChromeDriver at WebDriverError(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/error.js:26:26) at Object.checkLegacyResponse(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/error.js:580:13) at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:64:13 在Promise.invokeCallback_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1329:14) 在TaskQueue.execute_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2790:14) 在TaskQueue.executeNext_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2773:21) at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2652:27 at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:639:7 at process._tickCallback(internal / process / next_tick.js:103:7)From:Task:WebDriver.createSession() at acquireSession(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:62:22) 在Function.createSession(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:295:12) 在Builder.build(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:458:24) 在Hosted.DriverProvider.getNewDriver(/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:37:33) 在Runner.createBrowser(/usr/local/lib/node_modules/protractor/built/runner.js:182:43) at /usr/local/lib/node_modules/protractor/built/runner.js:255:30 在_fulfilled(/usr/local/lib/node_modules/protractor/node_modules/q/q.js:834:54) at self.promiseDispatch.done(/usr/local/lib/node_modules/protractor/node_modules/q/q.js:863:30) 在Promise.promise.promiseDispatch(/usr/local/lib/node_modules/protractor/node_modules/q/q.js:796:13) at /usr/local/lib/node_modules/protractor/node_modules/q/q.js:556:49 [01:09:14] E / launcher - 进程已退出,错误代码为1
答案 0 :(得分:1)
检查您的Google chrome版本及其与chrome驱动程序的兼容性。
您可以从Chromedriver网站上进行检查并下载兼容版本。
对我有用。
答案 1 :(得分:0)
可能你的窗口屏幕大小不匹配尝试在onPrepare中给出最大化:
onPrepare: function(){
browser.driver.manage().window().maximize();
}
答案 2 :(得分:0)
打开您的项目,然后请通过以下命令更新npm模块。
project_root:\> npm update
现在使用以下命令将硒驱动程序更新到最新版本
project_root:\> webdriver-manager update
再次运行测试。
答案 3 :(得分:-2)
此处未指定由于Xvfb显示导致的错误。在这里,Selenium脚本使用无头浏览器测试概念运行,没有GUI。
希望您使用过chromedriver,chrome二进制文件和XVfb。这里chromedriver正在初始化chrome二进制文件,但chrome二进制文件无法在XVfb上显示在监视器上.Thats y它的抛出错误为&#34; Chrome无法启动:异常退出&#34;
请在执行ur script之前按照以下步骤操作。例如:(在Unix服务器(ex.putty)中执行此cmd)
usr / bin / Xvfb:2 -ac -screen 0 1280x1024x24&amp;
导出DISPLAY =:2
它肯定会有用。