我正在为我的工作场所做一些研究。计划是通过nodejs使用javascript(因为我们有人知道这一点)。我们还将使用selenium和visual studio来编写代码。
我有一些基本的测试,一切正常。
我想知道的是如何在java脚本中进行数据驱动测试,从而将数据从excel表中拉出来。对于每个测试,我们每行可以有8-10列,最多可以有30行数据。任何指针都将非常感激。
我做了一些研究,但我发现的任何东西都是c#或普通的java。不确定在这种情况下使用的最佳插件。
答案 0 :(得分:0)
嗯,有阅读npm modules。除此之外,你可以保存为CSV,还有一些CSV-reading and writing modules。
我不确定你是否已经看过它,但还有mocha和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
调用一样。