在量角器中创建一个.txt错误输出文件是手动的,而不是控制台错误



大家好,我对js和量角器有点陌生,我刚刚发现它不能创建和修改文件,所以我想问的问题是:是否可以手动将测试用例逻辑失败写入文本文件,例如:我知道代码不正确,但你会得到我所知道的关于jasmine报告器和xml文件输出的想法,但它只是打印控制台错误。我想要一个自定义的错误,即下面的错误

describe('File output test', function() {
  it('should have a title', function() {
    browser.ignoreSynchronization=true; 
    browser.get('https://www.google.com');    
  });
  it('Tests output file',function(){      
      var searchText = $('#lst-ib');
      searchText.sendKeys('Testt')
      searchText.sendKeys(protractor.Key.ENTER);
      browser.sleep(3000);
      if(browser.getTitle() != 'Test')
      {
          var txtFile = "C:UsersyDesktoptest.txt";
          var file = new File(txtFile);
          var url = browser.getCurrentUrl();
          file.open("w");         
          file.writeln("Error at " + url);
          file.close();
      }

  });
});

conf文件非常基本:

exports.config = {
  framework: 'jasmine',
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['spec.js']
}

因此,我现在只想检查给定的标题,如果它与预期的标题不同,我想将url保存在输出文件中,这样当测试结束时,我就可以检查到底在哪里做了我不想发生的事情。我希望我不是在胡说八道

Protractor在Node.js环境中运行。因此,Node.js所拥有的一切对您来说都是可用的。例如"fs"模块。所以您可以每次手动保存文件,或者(作为更好的选择)编写自定义Jasmine报告程序。您的报告程序将在全局命名空间中公开一些变量或函数,以注册自定义错误,并在测试执行后将它们写入文件中。

尽管我在这里找到了问题的答案,这是我用来测试的示例代码

var fs = require('fs-extra')
var file = 'C:/Users/y/Desktop/test/New folder/output.txt'
var counter = 1;
describe('File output test', function() {
  it('should have a title', function() {
    browser.ignoreSynchronization=true; 
    browser.get('https://www.facebook.com');

  });
  it('Tests output file',function(){    
        email = 'dame@hotmail.com';
        pass = 'test123'
      var enterMail = $('#email');
      enterMail.sendKeys(email);
      var enterPass = $('#pass');
      enterPass.sendKeys(pass);
      enterPass.sendKeys(protractor.Key.ENTER);
      browser.sleep(3000);
        if(browser.getTitle() != 'Facebook'){


        fs.appendFile(file,counter +'. ' + 'Error at login using: ('+email +') as email and ('+pass+') as password.' + "n" , function (err) {
        console.log(err) // => null 


        })
        counter+=1;
        }




  });
});

我发现了一个允许创建和编辑一些文件或文档的模块fs extra,我设法在一个文件中创建并编写了我的手动输出。这里是fs extra的链接https://github.com/jprichardson/node-fs-extra#mkdirsdir-回调,以防有人需要它欢呼

相关内容

最新更新