2 Commits

Author SHA1 Message Date
  Micheal 9ccffcc2b8 Second commit 11 months ago
  Micheal c53965b4e8 Second commit 11 months ago
15 changed files with 533 additions and 310 deletions
Split View
  1. BIN
      Biriyani.jpg
  2. +53
    -0
      pages/AppConfig.js
  3. +56
    -0
      pages/CatlogPage.js
  4. +16
    -2
      pages/LoginPage.js
  5. +0
    -32
      pages/MerchantAppConf.js
  6. +0
    -18
      pages/MerchantOrder.js
  7. +49
    -0
      pages/OrderPage.js
  8. +102
    -0
      pages/ProductPage.js
  9. +28
    -0
      tests/AppConfig.spec.js
  10. +17
    -0
      tests/CatlogPage.spec.js
  11. +57
    -5
      tests/LoginPage.spec.js
  12. +0
    -183
      tests/Merchant_AppConf.spec.js
  13. +0
    -70
      tests/Merchant_Order.spec.js
  14. +70
    -0
      tests/OrderPage.spec.js
  15. +85
    -0
      tests/ProductPage.spec.js

BIN
Biriyani.jpg View File

Before After
Width: 451  |  Height: 534  |  Size: 47 KiB

+ 53
- 0
pages/AppConfig.js View File

@ -0,0 +1,53 @@
exports.AppConfig=
class AppConfig {
constructor(page) {
this.page = page;
this.appConfLink="//span[normalize-space()='AppConfig']";
this.currency="//select[@id='oba_appconfig_select_currency']";
this.minimumCartPrize="//label[@id='oba_appconfig_minimum_cart_price_label']//input[@id='oba_appconfig_minimum_cart_price']";
this.deliveryCharge="//label[@id='oba_appconfig_delivery_charge_label']//input[@id='oba_appconfig_minimum_cart_price']";
this.callToAction="//input[@id='oba_appconfig_call_to_action']";
this.areaSelection="//select[@id='oba_appconfig_city_selection_list']";
this.typingText="//input[@id='oba_appconfig_area_selection']";
this.selectedText="//select[@id='oba_appconfig_area_selection_list']";
this.movingTypingText="//button[normalize-space()='>>']";
this.replaceMovedText="//button[normalize-space()='<<']";
this.saveButton="//button[@id='oba_appconfig_save']";
}
async openAppConf(){
await this.page.locator(this.appConfLink).click();
}
async selectCurrency(currency){
await this.page.locator(this.currency).selectOption({label:currency});
}
async callToAction(Number){
await this.page.locator(this.callToAction).fill(Number);
}
async areaSelection(area){
await this.page.locator(this.areaSelection).selectOption({label:area});
}
async functionalityAppConfig(currency, minValue, charge, Number, area, text){
await this.page.locator(this.appConfLink).click();
await this.page.locator(this.currency).selectOption({label:currency});
await this.page.locator(this.minimumCartPrize).fill(minValue);
await this.page.locator(this.deliveryCharge).fill(charge);
await this.page.locator(this.callToAction).fill(Number);
await this.page.locator(this.areaSelection).selectOption({label:area});
await this.page.locator(this.typingText).fill(text);
await this.page.waitForTimeout(5000);
await this.page.locator(this.movingTypingText).click();
await this.page.waitForTimeout(5000);
await this.page.locator(this.saveButton).click();
}
}

+ 56
- 0
pages/CatlogPage.js View File

@ -0,0 +1,56 @@
exports.CatlogPage=
class CatlogPage {
constructor(page) {
this.page = page;
this.catlogButton="//span[normalize-space()='Catlog']";
this.catalogViewType="//select[@id='oba_bud_view']";
this.productsViewType="//select[@id='oba_product_view']";
this.categoryImage="#edit_image";
this.uploadImage="#oba_product_input_display";
this.saveButton="//button[@class='btn btn-primary btn-block']";
}
async clickCatalogButton(){
await this.page.locator(this.catlogButton).click();
}
async clickCatalogViewType(catlogView){
await this.page.locator(this.catlogButton).click();
await this.page.locator(this.catalogViewType).selectOption({label:catlogView});
}
async clickProductViewType(catlogView, productView ){
await this.page.locator(this.catlogButton).click();
await this.page.locator(this.catalogViewType).selectOption({label:catlogView});
await this.page.locator(this.productsViewType).selectOption({label:productView});
}
async imageUpload(catlogView, productView ){
await this.page.locator(this.catlogButton).click();
await this.page.locator(this.catalogViewType).selectOption({label:catlogView});
await this.page.locator(this.productsViewType).selectOption({label:productView});
await this.page.locator(this.categoryImage).click();
await this.page.locator(this.uploadImage).setInputFiles("C:/Automate Testing/OBA Automation/Biriyani.jpg");
await this.page.locator(this.saveButton).click();
}
}
//await this.page.locator("#edit_image").click();
//await this.page.locator("#oba_product_input_display").setInputFiles("C:/Automate Testing/OBA Automation/Biriyani.jpg");
//await this.page.locator(this.saveButton).click();

+ 16
- 2
pages/LoginPage.js View File

@ -6,6 +6,8 @@ class LoginPage {
this.usernameInput = "//input[@name='oba_login_emailid']";
this.passwordInput = "//input[@placeholder='Password']";
this.signinButton = "//button[normalize-space()='SIGN IN']";
this.forgotPassword = "//a[normalize-space()='Forgot Password ?']";
this.backToLogin="//a[normalize-space()='Back to Login']";
}
async gotoLoginPage(){
@ -17,15 +19,27 @@ class LoginPage {
await this.page.locator(this.usernameInput).fill(username);
await this.page.locator(this.passwordInput).fill(password);
await this.page.locator(this.signinButton).click();
await this.page.waitForTimeout(5000);
}
async loginWithCrtPassword(){
await this.page.fill(this.usernameInput,'rabisundaram@gmail.com');
await this.page.locator(this.passwordInput).fill('#12345678A');
await this.page.locator(this.signinButton).click();
}
}
async forgetPasswordLink(){
await this.page.locator(this.forgotPassword).click();
}
async backToLoginLink(){
await this.page.locator(this.backToLogin).click();
}
}

+ 0
- 32
pages/MerchantAppConf.js View File

@ -1,32 +0,0 @@
exports.MerchantAppConf=
class MerchantAppConf {
constructor(page) {
this.page = page;
this.appConfLink="//span[normalize-space()='AppConfig']";
this.currency="//select[@id='oba_appconfig_select_currency']";
this.minimumCartPrize="//label[@id='oba_appconfig_minimum_cart_price_label']//input[@id='oba_appconfig_minimum_cart_price']";
this.deliveryCharge="//label[@id='oba_appconfig_delivery_charge_label']//input[@id='oba_appconfig_minimum_cart_price']";
this.callToAction="//input[@id='oba_appconfig_call_to_action']";
this.areaSelection="//select[@id='oba_appconfig_city_selection_list']";
this.typingText="//input[@id='oba_appconfig_area_selection']";
this.selectedText="//select[@id='oba_appconfig_area_selection_list']";
}
async openAppConf(){
await this.page.locator(this.appConfLink).click();
}
async selectCurrency(currency){
await this.page.locator(this.currency).selectOption({label:currency});
}
async callToAction(Number){
await this.page.locator(this.callToAction).fill(Number);
}
}

+ 0
- 18
pages/MerchantOrder.js View File

@ -1,18 +0,0 @@
exports.MerchantOrder=
class MerchantOrder {
constructor(page) {
this.page = page;
this.
}
}

+ 49
- 0
pages/OrderPage.js View File

@ -0,0 +1,49 @@
exports.OrderPage =
class OrderPage {
constructor(page) {
this.page = page;
this.ordersButton="//span[normalize-space()='Orders']";
this.ordersListButton="//a[normalize-space()='Order List']";
this.exportButton="//a[@class='treeview-item active']";
this.orderStatus="//select[@id='oba_edit_order_status_filter']";
this.usernameTextbox="//input[@id='oba_order_search']";
this.textBox="//input[@id='oba_order_search']";
this.filterButton="#oba_edit_order_filter";
}
async clickOrdersButton(){
await this.page.locator(this.ordersButton).click();
}
async clickOrdersListButton(){
await this.page.locator(this.ordersButton).click();
//await page.waitForTimeout(5000);
await this.page.locator(this.ordersListButton).click();
}
async orderStatusCheck(orderStatus){
await this.page.locator(this.ordersButton).click();
//await page.waitForTimeout(5000);
await this.page.locator(this.ordersListButton).click();
await this.page.locator(this.orderStatus).selectOption({label:orderStatus});
// await page.waitForTimeout(5000);
}
async checkFilterButton(orderStatus){
await this.page.locator(this.ordersButton).click();
//await page.waitForTimeout(5000);
await this.page.locator(this.ordersListButton).click();
await this.page.locator(this.orderStatus).selectOption({label:orderStatus});
// await page.waitForTimeout(5000);
await this.page.locator(this.filterButton).click();
}
async textBoxSearch(orderStatus, textBox){
await this.page.locator(this.ordersButton).click();
//await page.waitForTimeout(5000);
await this.page.locator(this.ordersListButton).click();
await this.page.locator(this.orderStatus).selectOption({label:orderStatus});
// await page.waitForTimeout(5000);
await this.page.locator(this.textBox).fill(textBox);
await this.page.locator(this.filterButton).click();
}
}

+ 102
- 0
pages/ProductPage.js View File

@ -0,0 +1,102 @@
exports.ProductPage=
class ProductPage {
constructor(page) {
this.page = page;
this.productsButton = "//span[normalize-space()='Products']";
this.productListButton= "//a[normalize-space()='Product List']";
this.addProductButton="//a[normalize-space()='Add Product']";
this.productName="//input[@id='oba_product_name']";
this.productPrize="//input[@id='oba_product_price']";
this.managedRadioButton="//input[@id='managed']";
this.unmanagedRadioButton="//input[@id='unmanaged']";
this.productQuantityValue="//input[@id='oba_product_quantity']";
this.orderLimit="//input[@id='oba_product_order_limit']";
this.taxIn="//input[@id='oba_product_tax']";
this.productAvailableCheck="//input[@name='isAvailable']";
this.isLiveCheck="//input[@name='isLive']";
this.shortDescription="//textarea[@id='oba_product_short_description']";
this.productDescription="//textarea[@name='editor-html-code']";
this.productImage="#edit_image";
this.uploadImage="#oba_product_input_display";
this.productlistSearchBox="//input[@id='oba_product_search']";
this.searchBox="//i[@class='fa fa-lg fa-fw fa-search']";
this.editButton="//i[@class='fa fa-lg fa-edit']";
this.saveButton="//button[@class='btn btn-primary btn-block']";
}
async clickProductsButton(){
await this.page.locator(this.productsButton).click();
}
async clickProductlistButton(){
await this.page.locator(this.productsButton).click();
await this.page.locator(this.productListButton).click();
}
async clickAddProductButton(){
await this.page.locator(this.productsButton).click();
await this.page.locator(this.addProductButton).click();
}
async addProductFunctionality(productName, productPrize, productQuantity, orderLimitvalue, taxin, shortDescription){
await this.page.locator(this.productsButton).click();
await this.page.locator(this.addProductButton).click();
await this.page.locator(this.productName).fill(productName);
await this.page.locator(this.productPrize).fill(productPrize);
await this.page.locator(this.managedRadioButton).check();
await this.page.locator(this.productQuantityValue).fill(productQuantity);
await this.page.locator(this.orderLimit).fill(orderLimitvalue);
await this.page.locator(this.taxIn).fill(taxin);
await this.page.locator(this.productAvailableCheck).check();
await this.page.locator(this.isLiveCheck).check();
await this.page.locator(this.shortDescription).fill(shortDescription);
await this.page.waitForSelector('.CodeMirror');
await this.page.evaluate(() => {
const codeMirrorElement = document.querySelector('.CodeMirror');
codeMirrorElement.CodeMirror.setValue('Yummy! Delicious Biriyani Taste the Beauty of Kanyakumari');
});
await this.page.locator(this.productImage).click();
await this.page.locator(this.uploadImage).setInputFiles("C:/Automate Testing/OBA Automation/Biriyani.jpg");
await this.page.locator(this.saveButton).click();
}
async addProductFunctionalityUnmanaged(productName, productPrize, orderLimitvalue, taxin, shortDescription){
await this.page.locator(this.productsButton).click();
await this.page.locator(this.addProductButton).click();
await this.page.locator(this.productName).fill(productName);
await this.page.locator(this.productPrize).fill(productPrize);
await this.page.locator(this.unmanagedRadioButton).check();
await this.page.locator(this.orderLimit).fill(orderLimitvalue);
await this.page.locator(this.taxIn).fill(taxin);
await this.page.locator(this.productAvailableCheck).check();
await this.page.locator(this.isLiveCheck).check();
await this.page.locator(this.shortDescription).fill(shortDescription);
await this.page.waitForSelector('.CodeMirror');
await this.page.evaluate(() => {
const codeMirrorElement = document.querySelector('.CodeMirror');
codeMirrorElement.CodeMirror.setValue('Yummy! Delicious Biriyani Taste the Beauty of Kanyakumari');
});
await this.page.locator(this.productImage).click();
await this.page.locator(this.uploadImage).setInputFiles("C:/Automate Testing/OBA Automation/Biriyani.jpg");
await this.page.locator(this.saveButton).click();
}
}

+ 28
- 0
tests/AppConfig.spec.js View File

@ -0,0 +1,28 @@
const {test, expect} =require('@playwright/test')
import { LoginPage } from '../pages/LoginPage';
import { AppConfig } from '../pages/AppConfig';
test('AppConfig 1',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const config = new AppConfig(page);
await config.openAppConf();
await page.waitForTimeout(3000)
await expect(await page.locator("//select[@id='oba_appconfig_select_currency']n")).toBeVisible();
})
test('AppConfig 2',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const config = new AppConfig(page);
await config.functionalityAppConfig('UAE dirham (د.إ;)', '400', '35', '9565456737', 'State', 'Tamil Nadu');
await page.waitForTimeout(3000)
})

+ 17
- 0
tests/CatlogPage.spec.js View File

@ -0,0 +1,17 @@
const {test, expect} =require('@playwright/test')
import { LoginPage } from '../pages/LoginPage';
import { CatlogPage } from '../pages/CatlogPage';
test('Catlog 1',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const catlog = new CatlogPage(page);
//await catlog.clickCatalogButton();
await catlog.imageUpload('BUDS_LIST', 'PRODUCTS_LEFT');
await page.waitForTimeout(3000)
})

+ 57
- 5
tests/LoginPage.spec.js View File

@ -1,12 +1,64 @@
const {test, expect} =require('@playwright/test')
import { LoginPage } from '../pages/LoginPage';
test('Login Page1',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.login('rabisundaram@gmail.com','#12345678A')
await page.waitForTimeout(3000)
console.log('Password is Logged in Successfully');
// await login.gotoLoginPage();
// await login.loginWithCrtPassword()
await expect(page).toHaveURL('https://jaicrm1.orderbookings.com/merchant/index/index')
await expect(page).toHaveTitle('OBA')
await expect(await page.locator("//p[contains(text(),'Micheal Rabi')]")).toBeVisible();
await page.close();
})
})
test('Login Page2',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.login('rabisundaram@gmail.com','')
const msg=await page.locator("//input[@placeholder='Password']").getAttribute("ariaHasPopup");
console.log(msg);
await page.close();
})
test('Login Page3',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.login('','#12345678A')
await expect(page).toHaveURL('https://jaicrm1.orderbookings.com/merchant/index/index')
await expect(page).toHaveTitle('OBA')
await expect(await page.locator("//p[contains(text(),'Micheal Rabi')]")).toBeVisible();
//document.querySelector('input').value = 'New Value';
// await page.waitForTimeout(3000)
// await expect(await this.page.getByLabel('rabisundaram@gmail.com')).toBeVisible();
await page.close();
})
test('ForgotPassword',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await page.waitForTimeout(3000)
await login.forgetPasswordLink()
await page.waitForTimeout(3000)
await expect(await page.locator("//button[normalize-space()='RESET']")).toBeVisible();
})
test('BacktoLogin',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await page.waitForTimeout(3000)
await login.forgetPasswordLink()
await page.waitForTimeout(3000)
await login.backToLoginLink()
await page.waitForTimeout(3000)
await expect(await page.locator("//button[normalize-space()='SIGN IN']")).toBeVisible();
})
test('Login Page 4',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.login('midhaja','#12345678A')
await page.waitForTimeout(3000)
const errorMessage = await page.locator("//div[@role='alert']").textContent()
console.log(errorMessage);
await expect(await page.locator("//div[@role='alert']")).toBeVisible();
})

+ 0
- 183
tests/Merchant_AppConf.spec.js View File

@ -1,183 +0,0 @@
const {test, expect} =require('@playwright/test')
import { LoginPage } from '../pages/LoginPage';
import { MerchantAppConf } from '../pages/MerchantAppConf';
test.describe('AppConfButton',()=>{
test('AppConfButton1',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
// await appConf.selectCurrency();
await page.waitForTimeout(5000);
console.log('AppConfiguration button is working');
await page.close();
})
})
test.describe('TC_Currency',()=>{
test('Currency1',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.selectCurrency('UAE dirham (د.إ;)');
await page.waitForTimeout(5000);
console.log('Each option in the currency is selected');
await page.close();
})
test('Currency2',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
// await page.
// const value=await appConf.selectCurrency();
// await expect(value).toBeVisible();
// if(value=='Indian rupee (₹)')
// {
//await page.waitForTimeout(5000);
console.log('Default option Indian rupee is selected');
// }else
// {
// console.log('Given Currency is not default');
// }
await page.close();
})
test('Currency3',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.selectCurrency('Bangladeshi taka (৳)');
await page.waitForTimeout(5000);
console.log('Selected currency symbol is selected correctlty');
await page.close();
})
test('Currency4',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.selectCurrency('Azerbaijani manat (AZN)');
await page.waitForTimeout(5000);
await appConf.selectCurrency('Burundi franc (FBu)');
await page.waitForTimeout(5000);
await appConf.selectCurrency('Brunei dollar (B$)');
console.log('Currency codes are visible and correctly associated');
await page.close();
})
})
test.describe('TC_callToAction',()=>{
test('CTA1',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction('DATAANALYS');
console.log('Characters not allowed');
await page.close();
})
test('CTA2',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction('@#$%%^^&*&*');
console.log('Special Characters not allowed');
await page.close();
})
test('CTA3',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction('Asdfghjk');
console.log('Alphabets not allowed');
await page.close();
})
test('CTA4',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction('98745612332');
console.log('11digits not allowed');
await page.close();
})
test('CTA5',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction('987456123');
console.log('9digits not allowed');
await page.close();
})
test('CTA6',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction(' 987456123');
console.log('space at the start of the number is not allowed');
await page.close();
})
test('CTA7',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction('');
console.log('Blank number is not allowed');
await page.close();
})
test('CTA8',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction('+1 82645289918');
console.log('International number is not allowed');
await page.close();
})
test('CTA9',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction('8870596481');
console.log('10 digit numbers are allowed');
await page.close();
})
test('CTA10',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const appConf = new MerchantAppConf(page);
await appConf.openAppConf();
await appConf.callToAction('8870596481');
console.log('Number Starts with 6,7,8,9 are allowed');
await page.close();
})
})

+ 0
- 70
tests/Merchant_Order.spec.js View File

@ -1,70 +0,0 @@
const {test, expect} =require('@playwright/test');
const { clear } = require('console');
test.describe('MerchantOrder',()=>{
test('OrderTest1',async ({page})=>{
await page.goto('https://jaicrm1.orderbookings.com/login/');
await page.fill("//input[@name='oba_login_emailid']",'rabisundaram@gmail.com')
await page.fill("//input[@placeholder='Password']",'#12345678A')
await page.click("//button[normalize-space()='SIGN IN']")
await page.click("//li[@id='app-menu-list-orders']//a[@class='app-menu__item']")
// await page.click("//li[@id='app-menu-list-orders']//a[@class='app-menu__item']")
const orderlistlink = await page.locator("//a[normalize-space()='Order List']")
await expect(orderlistlink).toBeVisible();
console.log('Order Button is working');
// await page.close();
})
test('OrderTest2',async ({page})=>{
await page.goto('https://jaicrm1.orderbookings.com/login/');
await page.fill("//input[@name='oba_login_emailid']",'rabisundaram@gmail.com')
await page.fill("//input[@placeholder='Password']",'#12345678A')
await page.click("//button[normalize-space()='SIGN IN']")
await page.click("//li[@id='app-menu-list-orders']//a[@class='app-menu__item']")
await page.click("//a[normalize-space()='Order List']")
console.log('OrderList Button is working');
// await page.click("//select[@id='oba_edit_order_status_filter']")
await page.close();
})
test('OrderTest3',async ({page})=>{
await page.goto('https://jaicrm1.orderbookings.com/login/');
await page.fill("//input[@name='oba_login_emailid']",'rabisundaram@gmail.com')
await page.fill("//input[@placeholder='Password']",'#12345678A')
await page.click("//button[normalize-space()='SIGN IN']")
await page.click("//li[@id='app-menu-list-orders']//a[@class='app-menu__item']")
await page.click("//a[normalize-space()='Order List']")
await page.click("//select[@id='oba_edit_order_status_filter']")
console.log('order status dropdown is working')
await page.close();
})
test('OrderTest4',async ({page})=>{
await page.goto('https://jaicrm1.orderbookings.com/login/');
await page.fill("//input[@name='oba_login_emailid']",'rabisundaram@gmail.com')
await page.fill("//input[@placeholder='Password']",'#12345678A')
await page.click("//button[normalize-space()='SIGN IN']")
await page.click("//li[@id='app-menu-list-orders']//a[@class='app-menu__item']")
await page.click("//a[normalize-space()='Order List']")
await page.locator("//select[@id='oba_edit_order_status_filter']").selectOption({label:'ORDER_STATUS_DECLINED'});
await page.waitForTimeout(5000);
console.log('Order status declined is selected');
await page.locator("//select[@id='oba_edit_order_status_filter']").selectOption({label:'ORDER_STATUS_REQUESTED'});
await page.waitForTimeout(5000);
console.log('Order status requested is selected');
await page.locator("//select[@id='oba_edit_order_status_filter']").selectOption({label:'ORDER_STATUS_PENDING'});
await page.waitForTimeout(5000);
console.log('Order status Pending is selected');
await page.locator("//select[@id='oba_edit_order_status_filter']").selectOption({label:'ORDER_STATUS_CANCELLED'});
await page.waitForTimeout(5000);
console.log('Order status cancelled is selected');
await page.locator("//select[@id='oba_edit_order_status_filter']").selectOption({label:'ORDER_STATUS_COMPLETE'});
console.log('Order status complete is selected');
await page.close();
})
})

+ 70
- 0
tests/OrderPage.spec.js View File

@ -0,0 +1,70 @@
const {test, expect} =require('@playwright/test')
import { LoginPage } from '../pages/LoginPage';
import { OrderPage } from '../pages/OrderPage';
test('Order Page1',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const order = new OrderPage(page);
await order.clickOrdersButton();
await page.waitForTimeout(5000);
await expect(await page.locator("//a[normalize-space()='Order List']")).toBeVisible();
})
test('Order Page2',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const order = new OrderPage(page);
await order.clickOrdersListButton();
// await page.waitForTimeout(5000);
await expect(await page.locator("//select[@id='oba_edit_order_status_filter']")).toBeVisible();
})
test('Order Page3',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const order = new OrderPage(page);
await order.clickOrdersListButton();
await page.waitForTimeout(5000);
//await order.orderStatusCheck('ORDER_STATUS_REQUESTED');
// const value= await page.locator("//select[@id='oba_edit_order_status_filter']").textContent()
// console.log('value' +value);
//await expect(await page.locator("//select[@id='oba_edit_order_status_filter']")).textContent()
const options = await page.locator('#oba_edit_order_status_filter option')
await expect(options).toHaveCount(5);
})
test('Order Page4',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
// await page.waitForTimeout(5000);
const order = new OrderPage(page);
await order.clickOrdersListButton();
// await page.waitForTimeout(5000);
const value= await page.locator("//select[@id='oba_edit_order_status_filter']").textContent()
console.log(value);
})
test('Order Page5',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
//await page.waitForTimeout(5000);
const order = new OrderPage(page);
await order.orderStatusCheck('ORDER_STATUS_DECLINED');
})
test('Order Page6',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const order = new OrderPage(page);
await order.textBoxSearch('ORDER_STATUS_DECLINED', 'Tomato Rice and Chicken Biriyani');
})

+ 85
- 0
tests/ProductPage.spec.js View File

@ -0,0 +1,85 @@
const {test, expect} =require('@playwright/test')
import { LoginPage } from '../pages/LoginPage';
import { ProductPage } from '../pages/ProductPage';
/*
test('Product Page1',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickProductsButton();
await page.waitForTimeout(5000);
await expect(await page.locator("//a[normalize-space()='Product List']")).toBeVisible();
})
test('Product Page2',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickProductlistButton();
await page.waitForTimeout(5000);
await expect(await page.locator("//input[@id='oba_product_search']")).toBeVisible();
})
test('Product Page3',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.clickAddProductButton();
await page.waitForTimeout(5000);
await expect(await page.locator("//input[@id='oba_product_name']")).toBeVisible();
})
test('Product Page4',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionality('Biriyani', '250', '10', '5', '20','Dum Dum KK Biriyani');
await page.waitForTimeout(5000);
await expect(await page.locator("//td[normalize-space()='Biriyani']")).toBeVisible();
})
test('Product Page5',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityUnmanaged('Biriyani', '250', '5', '20','Dum Dum KK Biriyani');
await page.waitForTimeout(5000);
await expect(await page.locator("//td[normalize-space()='Biriyani']")).toBeVisible();
})
test('Product Page6',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionalityUnmanaged('Biriyani', '250', '5', '20','Dum Dum KK Biriyani');
await page.waitForTimeout(5000);
await expect(await page.locator("//td[normalize-space()='Un-managed']")).toBeVisible();
})*/
test('Product Page7',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const product = new ProductPage(page);
await product.addProductFunctionality('Biriyani', '250', '10', '5', '20','Dum Dum KK Biriyani');
await page.waitForTimeout(5000);
const options = await page.locator('//tbody/tr[1]/td[4]')
await expect(options).toHaveCount(10);
//await expect(await page.locator("//tbody/tr[1]/td[4]")).toBeVisible();
})

Loading…
Cancel
Save