使用Protractor进行数据驱动测试

时间:2014-10-13 23:04:59

标签: javascript excel protractor

我和Protractor一起工作了几个星期,并给我留下了深刻的印象。我要坚持的一件事是,当数据出现和excel电子表格时,你将如何在Protractor中进行数据驱动测试。

例如,假设您有一个电子表格调用users.xls

user.xls有两列和4行像这样。

|UesrId| Password|
|user1 | pass1   |
|user2 | pass2   |
|user3 | pass3   |

如何阅读excel电子表格然后通过我的数据循环将值从user.xls传递到我的测试。

1 个答案:

答案 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();                
        });
    });
});
相关问题