I have multiple it statements in one describe {}. In one it statement I am reading data from excel and doing for loop to execute test scripts for number of users in the sheet. I need to create page model and so for each page thinking on creating one it statement. How can we do that. Here is my actual script
var login = require('./login');
var utility = require('./utility');
var exRead = require('./readExcel');
describe('MSIX Smoke', function () {
var userList = [];
beforeAll(function(done) {
browser.get('https://url'); //Dev url
expect(browser.getTitle()).toEqual('test');
exRead().then(function(excelData) {
userList = prepData(excelData);
done();
});
});
it('should login users', function() {
var loopCount = userList.length
loopCount=1;
for (var i = 0; i<loopCount; i++) {
var data = userList[i];
loginScript(data[0], data[1], data[2]);
login.clickSignOut();
}
})
it('search for a student', function () {
console.log(data[3]);
});
it ('click on my account', function () {
//some code
})
});
function prepData(data) {
var formattedData = [];
var counter = data.length / 5;
for (var i = 0; i < counter; i++) {
formattedData.push(data.splice(0,5))
}
return formattedData;
}
function loginScript(username, password, userType) {
var loginName = element(by.css('.nameP'));
console.log(username, password);
login.fillUsername(username);
login.fillPassword(password);
login.clickSignup();
login.clickPrivacy();
console.log("User " + username + " with user type "+userType+" logged in successfully");
loginName.isPresent;
utility.getStringText("Logged in user name is: ", loginName);
return loginName;
};