Всем привет,
Успешно авторизируется , но шаг "Should show the drop menu" игнорирует .Просто делает логаут и закрывается окно браузера.
А логика теста должна быть такая авторизация(login)->открывается дропменю-> из дропменю нажимается кнопка "logout"
не понимаю что я не правильно написал в тесте ? :
import LoginModel from './page-models/Login';
const url = 'http://localhost:5000';
fixture('Login tests - Logged In')
.page(url)
.beforeEach(async t => {
await LoginModel.userLogin(t);
});
test('Should show the drop menu', async t => {
await t.expect(LoginModel.dropMenu.exists).ok();
});
test('Should show the logout button after logging in', async t => {
await t.expect(LoginModel.logoutButton.exists).ok();
});
fixture('Login tests - Not logged in').page(url);
test('Should have a username and password field', async t => {
await t.wait(10000);
await t.expect(LoginModel.username.exists).ok();
await t.expect(LoginModel.password.exists).ok();
});
page object model :
class Login {
username: Selector = Selector('[id=userEmail]');
password: Selector = Selector('[id=userPassword]');
loginButton: Selector = Selector('[id=login-button]');
dropMenu: Selector = Selector('[id=simple-menu]');
logoutButton: Selector = Selector('[id=logout-button]');
async userLogin(t: TestController) {
await t
.typeText(this.username, 'user', { replace: true, paste: true })
.typeText(this.password, 'pass', { replace: true, paste: true })
.click(this.loginButton);
}
}
export default new Login();