606 lines
14 KiB
Markdown
606 lines
14 KiB
Markdown
# Test info
|
||
|
||
- Name: Панель администратора — Новости (позитивный сценарий) >> Успешное добавление новости с изображением
|
||
- Location: /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/admin/news/admin-news-positive.spec.ts:5:7
|
||
|
||
# Error details
|
||
|
||
```
|
||
Error: locator.click: Test timeout of 30000ms exceeded.
|
||
Call log:
|
||
- waiting for getByRole('link', { name: 'Панель администратора' })
|
||
|
||
at /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/admin/news/admin-news-positive.spec.ts:14:69
|
||
```
|
||
|
||
# Page snapshot
|
||
|
||
```yaml
|
||
- main:
|
||
- img "logo"
|
||
- paragraph: Всероссийская научная конференция "Системный синтез и прикладная синергетика"
|
||
- list:
|
||
- listitem: Панель администратора
|
||
- listitem: Автору
|
||
- listitem: Участники
|
||
- listitem: Оргкомитет
|
||
- listitem: Личный кабинет
|
||
- img "Background"
|
||
- main:
|
||
- paragraph: 19 - 26 июня 2025 года Таганрог
|
||
- list
|
||
- img "Background"
|
||
- button "Подать заявку"
|
||
- img "Background"
|
||
- paragraph: / ЭТАПЫ ПРОВЕДЕНИЯ КОНФЕРЕНЦИИ /
|
||
- list:
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- listitem:
|
||
- text: 19.06.2025
|
||
- paragraph: Этап
|
||
- paragraph
|
||
- img
|
||
- paragraph: НАШИ КОНФЕРЕНЦИИ ПРОХОДЯТ С ПОЛЬЗОЙ НЕ ТОЛЬКО ДЛЯ РАЗВИТИЯ, НО И ДЛЯ ЗДОРОВЬЯ!
|
||
- paragraph: О конференции
|
||
- paragraph: НАПРАВЛЕНИЯ РАБОТЫ КОНФЕРЕНЦИИ
|
||
- paragraph: Направление
|
||
- paragraph: ewfewf
|
||
- paragraph: ewfewfewfwef
|
||
- img "ewfewf"
|
||
- button "Все новости img":
|
||
- text: Все новости
|
||
- img "img"
|
||
- paragraph: Организаторы
|
||
- img "Organization1"
|
||
- paragraph: Партнёры
|
||
- img "Organization1"
|
||
- 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 path from 'path';
|
||
3 |
|
||
4 | test.describe('Панель администратора — Новости (позитивный сценарий)', () => {
|
||
5 | test('Успешное добавление новости с изображением', async ({ page }) => {
|
||
6 | // 1. Авторизация как администратор
|
||
7 | await page.goto('https://ssas.dev.rdcenter.ru/login/authorization');
|
||
8 | await page.getByPlaceholder('Email').fill('admin@sfedu.ru');
|
||
9 | await page.getByPlaceholder('Пароль').fill('dfDk1oQQ6YGV@');
|
||
10 | await page.getByRole('button', { name: 'Войти', exact: true }).click();
|
||
11 |
|
||
12 | // 2. Переход в раздел "Панель администратора" → "Новости"
|
||
13 | await page.waitForURL('**/');
|
||
> 14 | await page.getByRole('link', { name: 'Панель администратора' }).click();
|
||
| ^ Error: locator.click: Test timeout of 30000ms exceeded.
|
||
15 | await page.waitForURL('**/adminPage/news');
|
||
16 |
|
||
17 | // 3. Нажатие кнопки "Добавить новость"
|
||
18 | await page.getByRole('button', { name: 'Добавить новость' }).click();
|
||
19 |
|
||
20 | // 4. Заполнение формы
|
||
21 | const title = `Тестовая новость ${Date.now()}`;
|
||
22 | const content = 'Это автотестовая новость для проверки добавления.';
|
||
23 | const imagePath = path.resolve(__dirname, '../../../test-data/image_1mb.png');
|
||
24 |
|
||
25 | await page.getByPlaceholder('Заголовок').fill(title);
|
||
26 | await page.getByPlaceholder('Текст новости').fill(content);
|
||
27 |
|
||
28 | // 5. Загрузка изображения
|
||
29 | const fileInput = await page.locator('input[type="file"]');
|
||
30 | await fileInput.setInputFiles(imagePath);
|
||
31 |
|
||
32 | // 6. Нажатие на кнопку "Добавить"
|
||
33 | await page.getByRole('button', { name: 'Добавить' }).click();
|
||
34 |
|
||
35 | // 7. Проверка, что новость появилась в списке
|
||
36 | await expect(page.locator('table')).toContainText(title);
|
||
37 | });
|
||
38 | });
|
||
39 |
|
||
``` |