# Test info - Name: Негативные сценарии регистрации >> Слишком длинное название организации - Location: /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/registration/register.negative.spec.ts:48:7 # Error details ``` Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByText('Некорректное название организации!') Expected: visible Received: Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByText('Некорректное название организации!') at /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/registration/register.negative.spec.ts:67:72 ``` # Page snapshot ```yaml - main: - main: - button - button "Скрыть Close": - text: Скрыть - img "Close" - list: - listitem: - text: Главная - img "Arrow" - listitem: - text: Автору - img "Arrow" - listitem: - text: Новости - img "Arrow" - listitem: - text: Участники - img "Arrow" - listitem: - text: Оргкомитет - img "Arrow" - paragraph: 19.06.2025 - paragraph: Этап - img "Logo" - paragraph: Добро пожаловать - paragraph: Зарегистрируйтесь, чтобы начать работу. - textbox "Имя*": Иван - text: Имя* - textbox "Фамилия*": Иванов - text: Фамилия* - textbox "Отчество" - textbox "Учёное звание*": Доцент - img "img" - text: Учёное звание* - textbox "Учёная степень*": Кандидат наук - img "img" - text: Учёная степень* - textbox "Должность": Преподаватель - text: Должность - textbox "Организация*": ООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООО - text: Организация* - textbox "Email (логин)*": test1750252524321@example.com - text: Email (логин)* - textbox "Номер телефона*": +7 (999) 197-79-6 - text: Некорректный номер - img "!" - img "показать пароль" - textbox "Придумайте пароль*": "!Test123" - text: Придумайте пароль* - img "показать пароль" - textbox "Повторите пароль*": "!Test123" - text: Повторите пароль* - paragraph: ИЛИ - button "Sfedu Logo Войти через аккаунт @sfedu": - img "Sfedu Logo" - text: Войти через аккаунт @sfedu - button "Зарегистрироваться" - paragraph: Уже есть аккаунт? - paragraph: Авторизируйтесь - paragraph: Всероссийская научная конференция "Системный синтез и прикладная синергетика" - paragraph: 19 - 26 июня 2025 года Таганрог - paragraph: "Напишите нам:" - paragraph: - text: "e-mail:" - link "ssas@ictis.sfedu.ru": - /url: mailto:ssas@ictis.sfedu.ru - text: Сайт разработан Центром исследований и разработки ИКТИБ - link "Ознакомиться с руководством пользователя": - /url: /static/media/user_manual.f1df94e2c5143919fb0d.pdf ``` # Test source ```ts 1 | import { test, expect } from '@playwright/test'; 2 | import { RegisterPage } from '../../../page-objects/RegisterPage'; 3 | 4 | test.describe('Негативные сценарии регистрации', () => { 5 | 6 | test('Отправка пустой формы', async ({ page }) => { 7 | const registerPage = new RegisterPage(page); 8 | await registerPage.goto(); 9 | await registerPage.submit(); 10 | 11 | const requiredErrors = await page.locator('div[name="error"]', { hasText: 'Поле обязательно для заполнения' }).allTextContents(); 12 | expect(requiredErrors.length).toBeGreaterThan(0); 13 | await expect(page.getByText('Не менее 8 символов')).toBeVisible(); // пароль 14 | }); 15 | 16 | test('Некорректное имя и фамилия (слишком длинные)', async ({ page }) => { 17 | const registerPage = new RegisterPage(page); 18 | await registerPage.goto(); 19 | 20 | await registerPage.fillName('А'.repeat(51)); 21 | await registerPage.fillSurname('Б'.repeat(51)); 22 | await registerPage.submit(); 23 | 24 | await expect(page.getByText('Некорректное имя')).toBeVisible(); 25 | await expect(page.getByText('Некорректная фамилия')).toBeVisible(); 26 | }); 27 | 28 | test('Некорректный email формат', async ({ page }) => { 29 | const registerPage = new RegisterPage(page); 30 | await registerPage.goto(); 31 | 32 | await registerPage.fillEmail('invalid-email'); 33 | await registerPage.submit(); 34 | 35 | await expect(page.getByText('Некорректный Email')).toBeVisible(); 36 | }); 37 | 38 | test('Слишком длинная должность', async ({ page }) => { 39 | const registerPage = new RegisterPage(page); 40 | await registerPage.goto(); 41 | 42 | await registerPage.fillPosition('X'.repeat(201)); 43 | await registerPage.submit(); 44 | 45 | await expect(page.getByText('Не более 200 символов!')).toBeVisible(); 46 | }); 47 | 48 | test('Слишком длинное название организации', async ({ page }) => { 49 | const registerPage = new RegisterPage(page); 50 | await registerPage.goto(); 51 | 52 | // Заполнить все поля валидно, кроме организации 53 | await registerPage.register({ 54 | name: 'Иван', 55 | surname: 'Иванов', 56 | patronymic: '', 57 | academicTitle: 'Доцент', 58 | degree: 'Кандидат наук', 59 | position: 'Преподаватель', 60 | organization: 'О'.repeat(201), 61 | email: `test${Date.now()}@example.com`, 62 | phone: `+7999${Math.floor(Math.random() * 1000000).toString().padStart(6, '0')}`, 63 | password: '!Test123', 64 | confirmPassword: '!Test123' 65 | }); 66 | > 67 | await expect(page.getByText('Некорректное название организации!')).toBeVisible(); | ^ Error: Timed out 5000ms waiting for expect(locator).toBeVisible() 68 | }); 69 | 70 | }); 71 | ```