使用Protractor进行数据驱动测试

use*_*060 1 javascript excel protractor

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

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

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

|UesrId| Password|
|user1 | pass1   |
|user2 | pass2   |
|user3 | pass3   |
Run Code Online (Sandbox Code Playgroud)

如何读取excel电子表格,然后通过我的数据循环传递user.xls中的值到我的测试.

小智 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']);
});
Run Code Online (Sandbox Code Playgroud)

要使用数据:

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();                
        });
    });
});
Run Code Online (Sandbox Code Playgroud)