使用 excel 个电子表格由 nodejs 驱动的数据

Data driven with nodejs using excel spreadsheets

我正在为我的工作场所做一些调查。计划是通过 nodejs 使用 javascript(因为我们有人知道这一点)。我们还将使用 selenium 和 visual studio 来编写代码。

我有一些基本测试运行一切正常。

我想知道的是如何在 java 脚本中进行数据驱动测试,从 excel 表中提取数据。我们可以每行 8-10 列,每个测试最多 30 行数据。任何指针将不胜感激。

我做了一些研究,但我发现的都是 C# 或正常 java。也不确定在这种情况下使用的最佳插件。

嗯,还有excel-阅读npm modules. Short of that, you could just save as CSV and there are a number of CSV-reading and writing modules

我不确定您是否看过,但还有 mocha and chai,非常适合测试。

所以我使用的一般架构是编写一些 mocha 测试,这些测试从 excel 或 CSV 文件中读取数据,然后 运行 使用该数据作为输入进行测试。像这样:

var fs = require('fs'); 
var parse = require('csv-parse');
var expect = require('chai').expect;

var csvData=[];

describe('When using some test data', () => {
  before((done) => {
     s.createReadStream(req.file.path)
      .pipe(parse({delimiter: ':'}))
      .on('data', function(csvrow) {
        csvData.push(csvrow);        
      })
      .on('end',function() {
        done();
      });
  });
  it ('should be able to pass a test with all data', () => {
    csvData.forEach((datum) => {
       // not sure what you're testing for, but check for each to pass here.
       expect(datum).to.not.be.a('null');
    });
  });
});

请注意,我没有测试以上内容,但这是您处理问题的大致范围。

如果您测试的任何方法都需要回调,您可以使用 async/await 语义或使用 it('test description', (done) => {}); 回调语法,就像我对 before 调用所做的那样。