2016-05-04 50 views
2

我试图运行我的测试无头和碎片两个我的测试套件并行运行它们。在我的本地机器上,它们并行运行,但是在这个无头的设置中,它们一个接一个地运行。我正在使用网络驱动程序和量角器的码头图像。无头量角器不分片测试

我正在使用webnicer-massractor泊坞窗图像:https://hub.docker.com/r/webnicer/protractor-headless/ 并使用elgalu/selenium作为网络驱动程序。

我,我跑conf.js看起来是这样的:真实谷歌Chrome浏览器

exports.config = { 
    //Headless 
    //seleniumAddress: 'http://localhost:4444/wd/hub', 
    seleniumAddress: 'http://localhost:24444/wd/hub', 
    capabilities: { 
    browserName: 'chrome', 
    shardTestFiles: true, 
    maxInstances: 2 
    }, 
    specs: ['Suites/AccountSettingsSuite.js', 'Suites/CloneDashboardSuite.js'] 
} 
+0

你这个随时随地?我有同样的问题 –

回答

2

Protractor无头测试现在是可能的,因为Chrome浏览器> = 57,Chromedriver> = 2.29沿着一些基本配置:

capabilities: { 
    browserName: 'chrome', 
    chromeOptions: { 
     args: ['headless', 'window-size=1920,1080'] 
    } 
} 

另一个很酷的事情是窗口大小不限于当前的显示,是真正的无头的意义,可以像测试所需的那样大。

webdriver的一些功能将无法在那里工作,例如:

browser.manage().window().setPosition(); 
browser.manage().window().setSize(); 
browser.manage().window().maximize(); 

你必须识别和删除不支持的功能,比无头铬等对我来说是伟大的工作。

要注意,例如sendKeys可能会触发此错误是很重要的:如果没有真正的显示或有Chrome上侧没有的Xvfb until this is fixed

Failed: unknown error: an X display is required for keycode conversions, consider using Xvfb 

UPDATEX display required错误是固定的ChromeDriver 2.31