Показать сообщение отдельно
  #1 (permalink)  
Старый 19.05.2021, 10:33
Интересующийся
Отправить личное сообщение для FlyTen Посмотреть профиль Найти все сообщения от FlyTen
 
Регистрация: 02.03.2021
Сообщений: 17

Проблема с пропуском шага в тесткейсе
Всем привет,
Успешно авторизируется , но шаг "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();


Ответить с цитированием