Это разрешается следующим образом:
export const hardshipTestData =
{
scenarios:
{
Wrongusername: { whichCreds : 'Wrongusername', username: 'abc', password: 'ab' , message: 'Invalid'},
Wrongpassword: { whichCreds : 'Wrongpassword',username: 'xyz', password: 'ab', message: 'Invalid' },
blankCreds: { whichCreds : 'blankCreds', username: '', password: '' ,message: 'required'},
CorrectCreds: { whichCreds : 'CorrectCreds', username: 'username12', password: 'password12', message: 'Home' }
}, }
Здесь я также записал свой ожидаемый результат в переменную "message" и передал "WhichCreds", чтобы выполнить дополнительное условие
My TestCase.ts
let login = new LoginElement();
describe("Test", () => {
using(hardshipTestData.scenarios, (alldata: any, alldesc: any) => {
it("TC", () => {
browser.get("url link");
browser.element(by.id("UserID")).sendKeys(alldata.username);
browser.element(by.id("Password")).sendKeys(alldata.password);
browser.element(by.className("k-button")).click();
expect(login.LoginStatus(alldata.whichCreds)).toContain((alldata.message).trim());
})
})
})
Мой файл LoginElement.ts
public LoginStatus(whichCreds : any)
{
switch(whichCreds) {
case "Wrongusername": {
return (browser.element(by.id("LoginFailure"))).getText();
break;
}
case "Wrongpassword": {
return (browser.element(by.id("PasswordFailure"))).getText();
break;
}
case "blankCreds": {
return (browser.element(by.class("Blank_field"))).getText();
break;
}
case "CorrectCreds": {
return browser.getCurrentUrl();
break;
}
default: {
break;
} } }