WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
File tree Expand file tree Collapse file tree 2 files changed +39
-3
lines changed
Expand file tree Collapse file tree 2 files changed +39
-3
lines changed Original file line number Diff line number Diff line change 1+ import { test , expect } from "@playwright/test" ;
2+ import { MainPage } from "./pages/MainPage" ;
3+ import usersData from "../fixtures/usersData.json" ;
4+
5+ test . describe ( "Tests for locked user" , ( ) => {
6+ test ( "Attempt to login with locked user creds" , async ( { page } ) => {
7+ const mainPage = new MainPage ( page ) ;
8+ const username = usersData . users [ 1 ] ;
9+ const password = usersData . password ;
10+
11+ await mainPage . visitMainPage ( ) ;
12+ await mainPage . fillUsername ( username ) ;
13+ await mainPage . fillPassword ( password ) ;
14+
15+ await expect ( page . locator ( 'input[name="user-name"]' ) ) . toHaveValue ( username ) ;
16+ await expect ( page . locator ( 'input[name="password"]' ) ) . toHaveValue ( password ) ;
17+
18+ await mainPage . loginButton ( ) ;
19+ await page . getByPlaceholder ( "Username" ) . isVisible ( ) ;
20+ await expect ( page . locator ( "svg.error_icon" ) . first ( ) ) . toBeVisible ( ) ;
21+ await page . getByPlaceholder ( "Password" ) . isVisible ( ) ;
22+ await expect ( page . locator ( "svg.error_icon" ) . last ( ) ) . toBeVisible ( ) ;
23+ await expect (
24+ page . locator ( 'div[class*="error-message-container"]' )
25+ ) . toBeVisible ( ) ;
26+ await page
27+ . getByAltText ( "Epic sadface: Sorry, this user has been locked out." )
28+ . isVisible ( ) ;
29+ } ) ;
30+ } ) ;
Original file line number Diff line number Diff line change 1- import { Page } from ' @playwright/test' ;
1+ import { Page } from " @playwright/test" ;
22
33export class MainPage {
44 constructor ( private page : Page ) { }
55
66 async visitMainPage ( ) {
7- await this . page . goto ( '/' ) ;
7+ await this . page . goto ( "/" ) ;
88 }
99 async fillUsername ( username : string ) {
1010 await this . page . fill ( 'input[name="user-name"]' , username ) ;
@@ -13,6 +13,12 @@ export class MainPage {
1313 await this . page . fill ( 'input[name="password"]' , password ) ;
1414 }
1515 async loginButton ( ) {
16- await this . page . click ( '#login-button' ) ;
16+ await this . page . click ( "#login-button" ) ;
17+ }
18+ async loginErrorMessage ( ) {
19+ this . page . locator ( 'div[class*="error-message-container"]' ) ;
20+ }
21+ async closeSvgIconForFields ( ) {
22+ this . page . locator ( "svg.error_icon" ) ;
1723 }
1824}
You can’t perform that action at this time.
0 commit comments