当onComplete启动时,为什么还没有完成预备? [量角器,茉莉花]

时间:2015-12-17 18:38:08

标签: angularjs jasmine automated-tests protractor jasmine2.0

我的量角器测试以ENOENT: no such file or directory, open 'c:\QA\test-results\chrome\junitresults.xml'等错误消息结束。

但是,当我查看c:\QA\test-results\chrome\文件夹时,全新的junitresults.xml就在那里。

所以我想知道onComplete函数是否在xml文件生成完成之前运行。

(由于每个onPrepare 创建junitresults.xml next 时间测试运行,onComplete函数找到并且使用以前测试的文件。所以创建的html文件总是大约30分钟过时。如果我删除旧的junitresults.xml并重新开始,我会再次收到错误消息。)

我该怎么办?

onPrepare: function() {

    var capsPromise = browser.getCapabilities();    
    capsPromise.then(function(caps) {
        browser.browserName = caps.caps_.browserName.replace(/ /g,"-");
        browser.browserVersion = caps.caps_.version; 
        browserName = browser.browserName;
        browser.reportPath = 'c:/QA/test-results/' + browser.browserName + '/';
    }). then(function(caps) {
            var jasmineReporters = require('jasmine-reporters');
            jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({    
                consolidateAll: true,
                savePath: 'c:/QA/test-results/' + browser.browserName + '/',
                filePrefix: 'junitresults'
        }));
    });

    return browser.browserName, browser.browserVersion, browser.reportPath;
},


onComplete: function() {

  var HTMLReport = require('jasmine-xml2html-converter');
  // Call custom report for html output
  testConfig = {
    reportTitle: 'Test Execution Report',
    outputPath: browser.reportPath,
    seleniumServer: 'default',
    applicationUrl: browser.baseUrl,
    testBrowser: browser.browserName + ' v.' + browser.browserVersion
  };
  new HTMLReport().from(browser.reportPath + 'junitresults.xml', testConfig);

  console.log("... aaaannnnd... done.");
},

0 个答案:

没有答案