OBA Website automated using playwright
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

637 lines
19 KiB

const {test, expect} =require('@playwright/test')
import { LoginPage } from '../pages/LoginPage';
import { AppConfig } from '../pages/AppConfig';
test.beforeEach(async ({ page }) => {
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
});
//Merchant Verify that the selected currency symbol is displayed correctly(In Regression Suite)
test('TC-AC-02: Select as Indonesian rupiah (Rp)', async ({page}) =>{
//Navigate to App Config Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
//Assertions
const locator = page.locator("//select[@id='oba_appconfig_select_currency']");
await expect(locator).toContainText('Indonesian rupiah (Rp)');
await page.waitForTimeout(1000);
await page.close();
});
//(In Regression Suite)
test('TC-AC-03: AppConfig button is working or not',async ({page})=>{
//Navigate to Login Page
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
//Navigate to App Config Oage
const config = new AppConfig(page);
await config.openAppConf();
await page.waitForTimeout(3000)
//Assertions
await expect(await page.locator(config.notificationSoundLoop)).toBeVisible();
})
/*-----------------------------Call to Action------------------------------------------------*/
//Call To Action for empty (In Regression Suite)
test.skip('Action call for empty ',async ({page})=>{
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '', 'City','Tamil Nadu');
await page.close();
});
//Call To Action contains numbers starting with 23
test('TC-AC-05: Action contains numbers starting with 23 ',async ({page})=>{
//Navigate to config Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '2355456737', 'City','Tamil Nadu');
//Assertions
const locator = page.locator("//input[@id='oba_appconfig_call_to_action']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
});
//Call To Action for Letters
test('TC-AC-06: Call To Action for Letters',async ({page})=>{
//Navigate to Config Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', 'AFHGDGJNBVJ', 'City','Tamil Nadu');
//Assertions
const locator = page.locator("//input[@id='oba_appconfig_call_to_action']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
});
//Call to Action only 9 numbers
test('TC-AC-07: Call to Action only 9 numbers' ,async({page})=>{
//Navigate to config page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '956456737', 'City','Tamil Nadu');
//Assertions
const locator = page.locator("//input[@id='oba_appconfig_call_to_action']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
})
//call to action using specail chars
test('TC-AC-08: call to action using special characters', async({page})=>{
//Navigate to App Configuration Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '95#5456737', 'City','Tamil Nadu');
//Assertions
const locator = page.locator("//input[@id='oba_appconfig_call_to_action']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
})
//call to Action using Space
test('TC-AC-09: space for action call',async({page})=>{
//Navigate to App Configuration Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', ' 965 526 ', 'City','Tamil Nadu');
//Assertions
const locator = page.locator("//input[@id='oba_appconfig_call_to_action']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
});
//Merchant add International Number
test('TC-AC-10: International Number', async({page})=>{
//Navigate to App Configuration Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '456236216514', 'City','Tamil Nadu');
//Assertions
const locator = page.locator("//input[@id='oba_appconfig_call_to_action']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
})
test('TC-AC-11: Enter Alphabet', async({page})=>{
//Navigate to App Configuration Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', 'hjgfdjsfjk', 'City','Tamil Nadu');
//Assertions
const locator = page.locator("//input[@id='oba_appconfig_call_to_action']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
})
test('TC-AC-12: 11 digits', async({page})=>{
//Navigate to App Configuration Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '96548712396', 'City','Tamil Nadu');
//Assertions
const locator = page.locator("//input[@id='oba_appconfig_call_to_action']");
await expect(locator).toBeFocused();
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
})
test('TC-AC-16: 10 digits', async({page})=>{
//Navigate to App Configuration Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
//Assertions
const PhoneNumber = await page.locator("//input[@id='oba_appconfig_call_to_action']").inputValue();
expect.soft(PhoneNumber).toContain(('9565456737').toString());
await page.close();
})
//Merchant add valid details
test('TC-AC-17: Valid Number starts with 6,7,8,9',async({page})=>{
//Navigate to App Configuration Page
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '6565456737', 'City','Tamil Nadu');
//Assertions
const actionNumber = await page.locator("//input[@id='oba_appconfig_call_to_action']").inputValue();
expect.soft(actionNumber).toContain(('6565456737').toString());
await page.close();
})
//Unable to assert
/*-----------------------------------------------------------------------------------*/
//user select Country
test.skip('select Country', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
const locator = page.locator("//option[@value='CITY']");
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
});
//user select State
test.skip('select State', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user select City
test.skip('select City', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
const locator = page.locator(("//option[@value='CITY']").inputValue());
await expect(locator).toBeVisible();
await page.waitForTimeout(3000);
await page.close();
});
//user select Pincode
test.skip('select Pincode', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user select Landmark
test.skip('select Landmark', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user select None
test.skip('select None', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter the less than cart value
test.skip('less than cart value ', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter the cart value equal to the value
test.skip('cart value equal to the value', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter cart zero
test.skip('enter cart zero ', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter the delivary charges as zero
test.skip('enter the delivary charges as zero', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter the Delivary chrages as more than given.
test.skip('Delivary chrages as more than given.', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter the less cart value and add delivary charg to
test.skip('enter the less cart value and add delivary charg to', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter the less than cart value
test.skip('enter the less than cart value ', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter the zero as cart value and delivary charge
test.skip('enter the zero as cart value and delivary charge', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '0', '0', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter sound loop as 0
test.skip(' enter sound loop as 0', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','0','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter sound loop as 100
test.skip(' enter sound loop as 100', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','100','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter sound loop as 10
test.skip(' enter sound loop as 10', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','10','5', '400', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//user enter cart value to max 999999
test.skip('enter cart value to max 999999', async ({page}) =>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
const config = new AppConfig(page);
await config.functionalityAppConfig('Indonesian rupiah (Rp)','7','5', '999999', '35', '9565456737', 'City','Tamil Nadu');
await page.waitForTimeout(3000);
await page.close();
});
//test('complete AppConfig page to check API',async ({page,request})=>{
// const login = new LoginPage(page);
// await login.gotoLoginPage();
// await login.loginWithCrtPassword();
// await page.waitForTimeout(5000);
// const config = new AppConfig(page);
// await config.functionalityAppConfig('Argentine peso ($)','7','5', '400', '35', '9565456737', 'City','Tamil Nadu');
// await page.close();
// await page.waitForTimeout(5000);
//await login.gotoLoginPage();
//await login.loginWithCrtPassword();
//await page.waitForTimeout(5000);
//await config.openAppConf();
//const text =page.locator(config.currency).allInnerTexts();
//console.log(text);
//expect.soft(config.currencyAPI).toContain("Argentine peso ($)");
//})
/*
test('AppConfig 3',async ({page})=>{
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const config = new AppConfig(page);
// await config.toggleButton();
await config.areaSelectionTest('State');
await page.waitForTimeout(3000)
// await expect(await page.locator("//div[@class='card is_shop_open_card']//span[@class='flip-indecator']").isChecked()).toBeTruthy();
// await expect(await expect("//div[@class='card is_shop_open_card']//span[@class='flip-indecator']").toHaveText('ON'))
// await config.functionalityAppConfig('UAE dirham (د.إ;)', '400', '35', '9565456737', 'State', 'Tamil Nadu');
// await page.waitForTimeout(3000)
// await expect(page.getByLabel("ON")).toBeVisible();
})
test('APITesting for app config',async ({request,page})=>{
const response = await request.get('https://dev.orderbookings.com/api/config/919480707707?merchantCode=919480707707')
console.log(await response.json())
const res = await response.json();
const login = new LoginPage(page);
await login.gotoLoginPage();
await login.loginWithCrtPassword();
await page.waitForTimeout(5000);
const config = new AppConfig(page);
await config.openAppConf();
expect.soft(config.merchantCode).toContain(res.data.merchantCode);
const textBoxValue=await page.locator(config.calltoactionAPI).inputValue();
expect.soft(textBoxValue).toContain(res.data.call_to_action);
//const currencyValue=await page.locator(config.currencyAPI).inputValue();
// expect.soft(currencyValue).toContain(res.data.currency_code);
const notificationLoop = await page.locator(config.notificationSoundLoopAPI).inputValue();
expect.soft(notificationLoop).toContain((res.data.notification_sound_loop).toString());
const cancellationTillResponse = await page.locator(config.cancellationTillAPI).inputValue();
expect.soft(cancellationTillResponse).toContain((res.data.cancellation_till).toString());
const minimumCartPrizeResponse = await page.locator(config.minimumCartPrizeAPI).inputValue();
expect.soft( minimumCartPrizeResponse).toContain((res.data.minimum_cart_price).toString());
const deliveryChargeResponse = await page.locator(config.deliveryChargeAPI).inputValue();
expect.soft( deliveryChargeResponse).toContain((res.data.delivery_charge).toString());
expect.soft(config.areaTypeAPI).toContain(res.data.area_type);
// const toggleButton = await page.locator(config.onOffButton).isChecked();
// const isNowToggledOn = await toggleButton.getAttribute('OFF') === 'true';
// expect.soft(toggleButton).toContain(res.data.isShopOpen);
// expect(toggleButton).toBe(true)
//expect.soft(config.currencyAPI).toContain(res.data.currency_code);
// expect.soft(coupon.couponCodeGuest).toContain(res.data[0].campaign_code);
// expect.soft(coupon.forUsersGuest).toContain(res.data[0].for);
})
*/