Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с пропуском шага в тесткейсе (https://javascript.ru/forum/misc/82520-problema-s-propuskom-shaga-v-testkejjse.html)

FlyTen 19.05.2021 10:33

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


:help: :help: :help: :help:


Часовой пояс GMT +3, время: 22:26.