TeamCity构建期间Protractor e2e测试中的超时问题

时间:2015-03-04 17:58:41

标签: jasmine teamcity protractor

我有一个TeamCity配置,它将构建部署到QA服务器上,在成功之后,它运行Protractor e2e测试。 我可以从结帐目录手动运行测试并且他们成功了,但是在TeamCity上他们只是超时(我已经将超时阈值增加到3分钟,他们现在需要3分钟才能超时)。

我看到的例外是:

[should find all page controls] [Test Error Output]
A Jasmine spec timed out. Resetting the WebDriver Control Flow.
The last active task was: 

    Protractor.get(http://[QA SERVER]/#/) - reset url
        at [object Object].webdriver.WebDriver.schedule 
        at [object Object].Protractor.executeScript_ 
        [...]
    A Jasmine spec timed out. Resetting the WebDriver Control Flow.
    The last active task was: 
    unknown
    [17:27:00][should find all page controls] Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
    [17:27:00]
    [should find all page controls] Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
        at [object Object]._onTimeout (C:\Users\user\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1782:23)
        at Timer.listOnTimeout (timers.js:110:15)

我将量角器作为命令行执行 - >可执行文件(protractor)和参数为protractor.conf.ci.js

我的量角器配置文件的内容是:

exports.config = {
    framework: "jasmine2",
    directConnect: true,
    baseUrl: 'http://[local server path]/',
    allScriptsTimeout: 60000,
    capabilities: {
        'browserName': 'chrome'
    },
    jasmineNodeOpts: {
        defaultTimeoutInterval: 120000
    },
    specs: [
        'ui/*.uispec.js'
    ],
    onPrepare: function () {
        var jasmineReporters = require('jasmine-reporters');
        jasmine.getEnv().addReporter(new jasmineReporters.TeamCityReporter());
    }
}

我错过了什么吗?看起来有些东西阻止了执行,但是Windows防火墙被禁用了,如果手动执行(使用TeamCity代理使用的相同用户帐户),相同的测试也会运行得很好。

谢谢!

0 个答案:

没有答案