From de3c5b2ee6aff88c9674cfb0c3d42142b81c6bda Mon Sep 17 00:00:00 2001 From: Jenish Date: Thu, 18 Sep 2025 19:39:23 +0545 Subject: [PATCH 1/2] Adding login positive features --- fixtures/userData.js | 3 +++ pageObjects/LoginPage.js | 20 ++++++++++++++++++++ tests/login.spec.js | 20 ++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 fixtures/userData.js create mode 100644 pageObjects/LoginPage.js create mode 100644 tests/login.spec.js diff --git a/fixtures/userData.js b/fixtures/userData.js new file mode 100644 index 0000000..c899cdc --- /dev/null +++ b/fixtures/userData.js @@ -0,0 +1,3 @@ +module.exports={ + validUser: { username: 'standard_user', password: 'secret_sauce'} +} \ No newline at end of file diff --git a/pageObjects/LoginPage.js b/pageObjects/LoginPage.js new file mode 100644 index 0000000..080a339 --- /dev/null +++ b/pageObjects/LoginPage.js @@ -0,0 +1,20 @@ +class LoginPage{ + constructor (page){ + this.page = page; + this.usernameInput = 'input[name="user-name"]'; + this.passwordInput = 'input[name="password"]'; + this.submitButton = '[data-test="login-button"]'; + } + + async goto(){ + await this.page.goto('https://www.saucedemo.com/'); + } + + async login(username,password){ + await this.page.fill(this.usernameInput,username); + await this.page.fill(this.passwordInput,password); + await this.page.click(this.submitButton); + } +} + +module.exports ={ LoginPage}; \ No newline at end of file diff --git a/tests/login.spec.js b/tests/login.spec.js new file mode 100644 index 0000000..0da74be --- /dev/null +++ b/tests/login.spec.js @@ -0,0 +1,20 @@ +// const { test, expect} = require('@playwright/test'); +// const { LoginPage } = require('../pageObjects/LoginPage'); +// const { validuser } = require('../fixtures/userData'); + +// test('valid user should log in successfully', async ({ page }) => { +// const loginPage = new LoginPage(page); +// await loginPage.goto(); +// await loginPage.login(validuser.username, validuser.password); +// await expect(page).toHaveURL(/dashboard/) +// }); +const { test, expect } = require('@playwright/test'); +const { LoginPage } = require('../pageObjects/LoginPage'); +const { validUser } = require('../fixtures/userData'); + +test('Valid user should log in successfully', async ({ page }) => { + const loginPage = new LoginPage(page); + await loginPage.goto(); + await loginPage.login(validUser.username, validUser.password); + await expect(page).toHaveURL(/inventory/); +}); From 57513bb4557d42f5b0601b88954d7d3e3d7bc1f9 Mon Sep 17 00:00:00 2001 From: Jenish Date: Thu, 18 Sep 2025 20:13:53 +0545 Subject: [PATCH 2/2] Removed Commented code --- tests/login.spec.js | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tests/login.spec.js b/tests/login.spec.js index 0da74be..678c8ec 100644 --- a/tests/login.spec.js +++ b/tests/login.spec.js @@ -1,13 +1,4 @@ -// const { test, expect} = require('@playwright/test'); -// const { LoginPage } = require('../pageObjects/LoginPage'); -// const { validuser } = require('../fixtures/userData'); -// test('valid user should log in successfully', async ({ page }) => { -// const loginPage = new LoginPage(page); -// await loginPage.goto(); -// await loginPage.login(validuser.username, validuser.password); -// await expect(page).toHaveURL(/dashboard/) -// }); const { test, expect } = require('@playwright/test'); const { LoginPage } = require('../pageObjects/LoginPage'); const { validUser } = require('../fixtures/userData');