2

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

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

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

(由于 eachonPrepare 确实创建了一个junitresults.xml下次测试运行时,该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.");
},
4

0 回答 0