我和Protractor一起工作了几个星期,并给我留下了深刻的印象。我要坚持的一件事是,当数据出现和excel电子表格时,你将如何在Protractor中进行数据驱动测试。
例如,假设您有一个电子表格调用users.xls
user.xls有两列和4行像这样。
|UesrId| Password|
|user1 | pass1 |
|user2 | pass2 |
|user3 | pass3 |
如何阅读excel电子表格然后通过我的数据循环将值从user.xls传递到我的测试。
答案 0 :(得分:5)
哇! 6个月没有人回答这个问题?
您需要使用csvtojson插件将csv文件转换为json并获取量角器测试以从json文件中读取。最好将它与gulp集成,因此gulp将重新生成json文件,以便对csv文件进行任何更改
示例代码:
var gulp = require('gulp');
var convert = require('gulp-convert');
var rename = require('gulp-rename');
var watch = require('gulp-watch');
gulp.task('convertCsv', function() {
console.log('converting');
gulp.src('./TestData/*.csv')
.pipe(convert({from: 'csv', to:'json'}))
.pipe(rename({extname: '.json'}))
.pipe(gulp.dest('./TestData/json/'));
});
gulp.task('csv', function () {
console.log('watching');
gulp.watch('./TestData/*.csv', ['convertCsv']);
});
使用数据:
describe('LoginPage.', function() {
var loginPage = require('../PageObjects/LoginPage.js');
var loginData = require('../TestData/json/loginData.json');
loginData.forEach(function (data) {
it(data.description, function () {
loginPage.usernameField.sendKeys(data.username);
loginPage.passwordField.sendKeys(data.password);
loginPage.loginButton.click();
});
});
});