【问题标题】:No output file with Jasmine and protractorJasmine 和量角器没有输出文件
【发布时间】:2015-04-28 16:18:07
【问题描述】:

我有点沮丧。我们将 Protractor 用于我们的自动化测试框架,几周前我犯了一个错误,进行了一次 npm 更新,这将我的 jasmine 模块更新到了版本 2,因此破坏了我的所有测试。我让环境再次执行测试,但 jasmine 没有创建 XML 文件。我读到量角器 1.6 需要与 jasmine 2.* 一起使用,但我似乎无法将量角器更新到 1.5 版之后。我试过了

npm update protractor 

还有

git clone https://github.com/angular/protractor.git
cd protractor
npm install  

第二组命令实际上再次破坏了事情,直到我做了一个

webdriver-manager update 

这让我回到了最初的问题,即能够运行测试,但没有得到包含结果的 xml 文件。

我的一个配置文件的示例是:

exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: ['MyTest.js'],
    rootElement: 'div',
    allScriptsTimeout: 50000,
    onPrepare: function(){
        var jasmineReporters = require('jasmine-reporters');
        var junitReporter = jasmineReporters.JUnitXmlReporter({
            savePath: '/Automation/Results',
            consolidateAll: false
        });
    }
} 

测试运行良好,但未在 Results 文件夹中创建 xml 文件。问题是我只需要将 Protractor 更新到 1.6 即可查看 xml 文件吗?如果是这样,我该如何在 OSX 上做到这一点?如果这不是问题,有没有人看到我做错了什么?

谢谢,

【问题讨论】:

  • 尝试将路径更改为 __dirname 并检查在目录 test 中创建的文件是否运行。
  • 感谢您的帮助。不幸的是,我仍然没有创建 XML 文件。我什至搜索了整个 HDD,看看它是否是在我没想到的位置创建的,但没有运气。该文件只是没有生成。不过感谢您提供的信息。
  • 结合 jasmine.getEnv().addReporter(junitReporter);和 __dirname。 ;-)

标签: node.js jasmine protractor


【解决方案1】:

你需要add the reporter to the jasmine environment using addReporter():

var jasmineReporters = require('jasmine-reporters');
var junitReporter = new jasmineReporters.JUnitXmlReporter({
    savePath: '/Automation/Results',
    consolidateAll: false
});
jasmine.getEnv().addReporter(junitReporter);

【讨论】:

  • 感谢您的帮助。我很感激,但不幸的是,我似乎仍然没有在 /Automation/Results 中获取 xml 文件。测试运行完成,没有任何错误,但没有 XML 文件。 onPrepare 代码肯定正在运行,但好像完全忽略了 savePath。
  • @user2233949 好的,谢谢,如果您将路径更改为./Automation/ResultsAutomation/Results 会怎样?
  • 不幸的是仍然没有运气。我枚举了 junitReporter 的属性,可以看到 savePath 属性设置正确。它似乎并没有真正将文件放在那里。再次感谢您的帮助。当我看到您的 addReporter 答案时,我认为它可能是正确的。听起来很合理。不过我会坚持下去的。
  • @user2233949 感谢您试用。您是否还可以检查输出目录和目录权限的存在?谢谢。
  • 该目录确实存在,并且似乎具有适当的权限。它们是 drwxr-xrwx。另外,我让测试用例截取了保存在同一文件夹中的屏幕截图,并且每次运行测试时都会创建 .png 文件,这也表明权限很好。 (我认为这可能是我自己的问题)谢谢
【解决方案2】:

我能够修复它。反正有点。我安装了 2 次量角器。一旦我弄清楚了,我需要添加

framework:'jasmine2'

到我的 Conf 文件中的 exports.config。一旦我这样做并使用 Protractor 2.0 运行测试,xml 文件就会按预期创建。显然量角器默认为 jasmine 的 1.x 版本,除非该框架属性明确设置为 jasmine2。我只是不确定我最终是如何安装 2 个量角器的,但一切似乎又恢复了。

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多