Добавлен файл register.negative.spec проверяющий негативные сценарии раздела Регистрация
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
# 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 |
|
||||
```
|
||||
Reference in New Issue
Block a user