Мой файл данных выглядит следующим образом. Проходит только первый набор, но вторая итерация, он не проходит по адресу электронной почты
export const userTestData = {
scenarios: {
scenario1: {
firstName: 'John',
lastName: 'Doe',
city: 'Indianapolis',
password: 'MyApp@123',
emailAddress: 'Test1@gmail.com',
addressLine1: '52nd BroadRipple Street',
zipCode: 43464
},
scenario2: {
firstName: 'Mark',
lastName: 'Baker',
city: 'Westfield',
password: 'Test@123',
emailAdd: 'Test1@gmail.com',
addressLine1: '12412 Ballantyne Street',
zipCode: 23053
}
}
};
Любая помощь очень ценится. Не уверен, почему он выдает ошибку только для 2-й итерации. На первой итерации все значения приняты и тест пройден
My Spec File
import {browser} from 'protractor';import {LoginPageEntities} из '../pageObjects/loginLogoutWorkflow/LoginPageEntities.po';import {CustomLogger} из '../../utils/logging';импортировать {после} из 'jasmine-ожидаемого / dist / asymmetricMatchersByName';import {LogoutPageEntitiesPo} из '../pageObjects/loginLogoutWorkflow/LogoutPageEntities.po';import {main} из '@ angular / compiler-cli / src / main';import {ForgotPasswordPo} из '../pageObjects/loginLogoutWorkflow/ForgotPassword.po';import {NewUserRegistrationPo} из '../pageObjects/loginLogoutWorkflow/NewUserRegistration.po';импорт {использование} от 'провайдера данных жасмина';import {userTestData} из '../globalData/userData';
const using = require('jasmine-data-provider');
describe('Test OnlineApp', () => {
const logger = new CustomLogger('LoginLogoutFunctionality');
let mainPage: LoginPageEntities;
let userRegisterPage: NewUserRegistrationPo;
beforeAll(async() => {
logger.debug('Before All');
});
afterAll(async () => {
logger.debug('After All');
});
beforeEach(async () => {
mainPage = new LoginPageEntities();
userRegisterPage = new NewUserRegistrationPo();
});
afterEach(async () => logger.debug('After Each'));
describe('example test', () => {
using(userTestData.scenarios, async (data) => {
xit('data provider tests', async () => {
browser.waitForAngularEnabled(false);
const expectedValue = 'New User';
await mainPage.launchURL();
await mainPage.getHomePageTitle();
await mainPage.clickLoginMenu();
await mainPage.clickSelectedLink('New User?', 'New User');
await userRegisterPage.setFirstName(data.firstName);
await userRegisterPage.setLastName(data.lastName);
await userRegisterPage.setNewEmailAddress(data.emailAddress);
await userRegisterPage.setConfirmEmailAddress(data.emailAddress);
await userRegisterPage.setNewUserPassword(data.password);
await userRegisterPage.setConfirmPassword(data.password);
await userRegisterPage.setAddressLine1(data.addressLine1);
await userRegisterPage.setCity(data.city);
await userRegisterPage.setZipCode(data.zipCode);
});
});
});
});
метод sendKeys
public async setNewEmailAddress(username: any) {
const expectedEmailText = 'email';
const emailField = await element(by.css('input[aria-label*=\'enter an email address\']'));
await browser.wait(until.presenceOf(emailField), TIMEOUT_MILLIS,
'New email field never appeared.');
await emailField.clear();
await emailField.sendKeys(username);
// const usernameText = emailField.getAttribute('type');
await emailField.getAttribute('type').then( (text) => {
logger.info('Getting email text:' + text);
expect(text).toEqual(expectedEmailText);
});
}