59 lines
2.9 KiB
Markdown
59 lines
2.9 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.fill: Target page, context or browser has been closed
|
||
Call log:
|
||
- waiting for getByPlaceholder('Email')
|
||
|
||
at /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/admin/news/admin-news-positive.spec.ts:8:42
|
||
```
|
||
|
||
# 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');
|
||
> 8 | await page.getByPlaceholder('Email').fill('admin@sfedu.ru');
|
||
| ^ Error: locator.fill: Target page, context or browser has been closed
|
||
9 | await page.getByPlaceholder('Пароль').fill('dfDk1oQQ6YGV@');
|
||
10 | await page.getByRole('button', { name: 'Войти' }).click();
|
||
11 |
|
||
12 | // 2. Переход в раздел "Панель администратора" → "Новости"
|
||
13 | await page.waitForURL('**/main');
|
||
14 | await page.getByRole('link', { name: 'Панель администратора' }).click();
|
||
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 |
|
||
``` |