5.4 KiB
5.4 KiB
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
- 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
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 |