Protractor-trx-reporter不创建trx文件

时间:2016-05-31 19:37:51

标签: angularjs protractor

我第一次使用Protractor,我已经安装了一些NPM用于量角器,protractor-trx-reporter,jasmine-trx-reporter和webdriver-manager的模块。 Selenium服务器在默认的4444端口运行,当我通过命令行在本地运行时,测试似乎运行正常(打开浏览器,测试通过)。

似乎没有任何错误,但我找不到量角器-trx-reporter发布的trx文件。当我运行protractor conf.js时,测试开始,命令行输出说它正在导出trx报告器并将输出文件设置为ProtractorTestResults.trx但是.trx文件没有出现在任何地方所以我怀疑它不是发布文件但不抛出错误。

如果protractor-trx-reporter还没有导​​出trx文件?

以下是我的配置文件和规范文件的样子(均作为Protractor和protractor-trx-reporter网站的样本)

    //conf.js
    exports.config = {
      framework: 'jasmine',
      seleniumAddress: 'http://localhost:4444/wd/hub',
      specs: ['spec.js'],
      onPrepare: function () {
           console.log('Adding TRX reporter');
        require('protractor-trx-reporter');
           jasmine.getEnv().addReporter(new jasmine.TrxReporter('ProtractorTestResults.trx'));
      }
}

 //spec.js
 describe('angularjs homepage todo list', function() {
     it('should add a todo', function() {
        browser.get('https://angularjs.org');

        element(by.model('todoList.todoText')).sendKeys('write first protractor test');
        element(by.css('[value="add"]')).click();

        var todoList = element.all(by.repeater('todo in todoList.todos'));
        expect(todoList.count()).toEqual(3);
        expect(todoList.get(2).getText()).toEqual('write first protractor test');

        // You wrote your first test, cross it off the list
        todoList.get(2).element(by.css('input')).click();
        var completedAmount = element.all(by.css('.done-true'));
        expect(completedAmount.count()).toEqual(2);
     });
 });

2 个答案:

答案 0 :(得分:2)

我最终使用了jasmine-trx-reporter,这就是conf.js的样子:

// conf.js
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
  directConnect: true,
  specs: ['spec.js'],
  capabilities: {
    'browserName': 'chrome'
  },
onPrepare: function () {
        var trx = require('jasmine-trx-reporter');
        return browser.getCapabilities().then(function (caps) {
        var browserName = caps.get('browserName').toUpperCase();

        var jasmineTrxConfig = {
            reportName: 'Protractor Test Results',
            folder: 'testResults',
            outputFile: 'Test.trx',
            browser: browserName,
            groupSuitesIntoSingleFile: false
        };

        jasmine.getEnv().addReporter(new trx(jasmineTrxConfig));
    });
}
};

答案 1 :(得分:0)

我认为这可能就是答案:

  

" ...短期内我们不会添加对Jasmine 2.0的支持。后来也许吧   是的,但我不能保证约会。"

这令人心烦意乱。我有同样的问题。而jasmine-trx-reporter也不适合我。

资料来源:[https://github.com/hatchteam/protractor-trx-reporter/issues/2]