Javascript 使用excel电子表格使用nodejs驱动数据
我正在为我的工作场所做一些调查。计划是通过nodejs使用javascript(因为我们有人知道这一点)。我们还将使用selenium和visualstudio来编写代码 我有一些基本的测试,一切正常 我想知道的是,如何用java脚本进行数据驱动测试,以从excel表格中提取数据。我们可以每行有8-10列,每个测试最多有30行数据。任何指点都将不胜感激Javascript 使用excel电子表格使用nodejs驱动数据,javascript,node.js,excel,data-driven-tests,Javascript,Node.js,Excel,Data Driven Tests,我正在为我的工作场所做一些调查。计划是通过nodejs使用javascript(因为我们有人知道这一点)。我们还将使用selenium和visualstudio来编写代码 我有一些基本的测试,一切正常 我想知道的是,如何用java脚本进行数据驱动测试,以从excel表格中提取数据。我们可以每行有8-10列,每个测试最多有30行数据。任何指点都将不胜感激 我做了一些研究,但发现的都是c#或普通java。不确定在这种情况下使用的最佳插件。好吧,有excel阅读。除此之外,您还可以将其另存为CSV,并
我做了一些研究,但发现的都是c#或普通java。不确定在这种情况下使用的最佳插件。好吧,有excel阅读。除此之外,您还可以将其另存为CSV,并且还有许多 我不确定您是否看过,但还有和,它们非常适合测试 所以我使用的一般架构是编写一些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('testdescription',(done)=>{})代码>回调语法,就像我在调用之前对所做的一样 谢谢你,我会看看摩卡/柴。我想我理解你在上面所做的。如何在工作表中指定不同的列?例如,假设我有三列“用户名”、“密码”、“ID”。我希望它读取该行,然后将该行上的每个项目保存为变量。一旦到达测试结束,它将使用下一行数据重复测试。抱歉,如果我的知识不是很好,因为这对我来说是相当新的。这将取决于您选择哪个CSV或Excel模块,但大多数模块都假设或允许您指定第一行是“headers”,然后JS数组中的每个项都是一个类似于,{header1:'item1',header2:'item2'}
的对象。或者以您的示例为例,如果第一行包含内容“ID”、“username”、“password”,那么数组将类似于[{'ID':'1233'、'username':'bob'、'password':'I am sooper s3cr3t'}]