Files
playwright-tests-ssas/allure-results/0c2b3f25-a5c0-41ff-b8e8-b69f2befb05a-attachment.md

140 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Test info
- Name: Негативные сценарии восстановления пароля >> Неверный код подтверждения
- Location: /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/recovery/recover-negative.spec.ts:23:7
# Error details
```
Error: Timed out 5000ms waiting for expect(locator).toHaveURL(expected)
Locator: locator(':root')
Expected pattern: /\/recoverpassword\/checkemail/
Received string: "https://ssas.dev.rdcenter.ru/recoverpassword"
Call log:
- expect.toHaveURL with timeout 5000ms
- waiting for locator(':root')
9 × locator resolved to <html lang="en">…</html>
- unexpected value "https://ssas.dev.rdcenter.ru/recoverpassword"
at /Users/vladsmykov/Desktop/Work/AUTOTESTS/CCPC_playwright/tests/ui/recovery/recover-negative.spec.ts:28:24
```
# Page snapshot
```yaml
- 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"
- listitem:
- text: Оргкомитет
- img "Arrow"
- img "Логотип"
- heading "Забыли пароль?" [level=2]
- paragraph: Чтобы задать новый пароль, введите электронную почту своего аккаунта
- img
- textbox "Email": autotest@example.com
- button "Далее"
- paragraph: Всероссийская научная конференция "Системный синтез и прикладная синергетика"
- paragraph
- 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 { RecoverPage } from '../../../page-objects/RecoverPage';
3 | import { recovery, recoveryErrors, users } from '../../../utils/test-data';
4 |
5 | test.describe('Негативные сценарии восстановления пароля', () => {
6 |
7 | test('Некорректный email (формат)', async ({ page }) => {
8 | const recoverPage = new RecoverPage(page);
9 | await recoverPage.goto();
10 |
11 | await recoverPage.enterEmail('invalid-email');
12 | await expect(recoverPage.emailFormatError).toBeVisible();
13 | });
14 |
15 | test('Несуществующий email', async ({ page }) => {
16 | const recoverPage = new RecoverPage(page);
17 | await recoverPage.goto();
18 |
19 | await recoverPage.enterEmail(recovery.emailNotFound);
20 | await expect(recoverPage.emailFormatError).toBeVisible(); // сервер показывает ту же ошибку
21 | });
22 |
23 | test('Неверный код подтверждения', async ({ page }) => {
24 | const recoverPage = new RecoverPage(page);
25 | await recoverPage.goto();
26 |
27 | await recoverPage.enterEmail(recovery.emailExists);
> 28 | await expect(page).toHaveURL(/\/recoverpassword\/checkemail/);
| ^ Error: Timed out 5000ms waiting for expect(locator).toHaveURL(expected)
29 |
30 | await recoverPage.enterVerificationCode('654321'); // неверный
31 | await expect(recoverPage.codeError).toBeVisible();
32 | });
33 |
34 | test('Некорректный новый пароль', async ({ page }) => {
35 | const recoverPage = new RecoverPage(page);
36 | await recoverPage.goto();
37 |
38 | await recoverPage.enterEmail(recovery.emailExists);
39 | await recoverPage.enterVerificationCode(recovery.verificationCode);
40 |
41 | await recoverPage.enterNewPassword(users.newPassword.weakPassword, users.newPassword.weakPassword);
42 | await expect(recoverPage.passwordError).toBeVisible();
43 | });
44 |
45 | test('Пустое поле "Повторите пароль"', async ({ page }) => {
46 | const recoverPage = new RecoverPage(page);
47 | await recoverPage.goto();
48 |
49 | await recoverPage.enterEmail(recovery.emailExists);
50 | await recoverPage.enterVerificationCode(recovery.verificationCode);
51 |
52 | await recoverPage.enterNewPassword(users.newPassword.password, '');
53 | await expect(recoverPage.passwordRepeatError).toBeVisible();
54 | });
55 |
56 | test('Пароли не совпадают', async ({ page }) => {
57 | const recoverPage = new RecoverPage(page);
58 | await recoverPage.goto();
59 |
60 | await recoverPage.enterEmail(recovery.emailExists);
61 | await recoverPage.enterVerificationCode(recovery.verificationCode);
62 |
63 | await recoverPage.enterNewPassword(users.newPassword.password, users.newPassword.mismatchPassword);
64 | await expect(recoverPage.mismatchPasswordError).toBeVisible();
65 | });
66 |
67 | });
68 |
```