Sobes.tech
Назад к вопросам
Middle+
1

Писали ли юнит-тесты и E2E-тесты? Как выбирали элементы в тестах, знакомы ли с паттерном Page Object?

Компании, где спрашивали
Сбертех

Ответ от нейросети

sobes.tech AI

Юнит-тесты пишутся для проверки отдельных функций или компонентов в изоляции, а E2E-тесты — для проверки работы приложения целиком, имитируя действия пользователя.

Для выбора элементов в тестах часто используют селекторы по data-testid или уникальным классам/идентификаторам, чтобы тесты были устойчивы к изменениям UI.

Паттерн Page Object помогает структурировать E2E-тесты, создавая абстракции страниц или компонентов с методами для взаимодействия и проверки. Это повышает читаемость и поддержку тестов.

Пример использования Page Object в тестах на JavaScript с Playwright:

class LoginPage {
  constructor(page) {
    this.page = page;
    this.usernameInput = page.locator('#username');
    this.passwordInput = page.locator('#password');
    this.loginButton = page.locator('button[type=submit]');
  }

  async login(username, password) {
    await this.usernameInput.fill(username);
    await this.passwordInput.fill(password);
    await this.loginButton.click();
  }
}

// В тесте
const loginPage = new LoginPage(page);
await loginPage.login('user', 'pass');