Update locators for Paypal flow
This commit is contained in:
parent
75e84452a8
commit
5908b7b807
2 changed files with 29 additions and 22 deletions
|
|
@ -235,6 +235,7 @@ const defaultAfterpayDetails: IPaymentDetails = {
|
||||||
|
|
||||||
const defaultPaypalDetails: IPaymentDetails = {
|
const defaultPaypalDetails: IPaymentDetails = {
|
||||||
paymentType: PaymentType.Paypal,
|
paymentType: PaymentType.Paypal,
|
||||||
|
username:'Itqatest@safelite.com',
|
||||||
password: 'Safelite1'
|
password: 'Safelite1'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,33 @@
|
||||||
import { expect, type Locator, type Page } from '@playwright/test';
|
import { expect, type Locator, type Page } from "@playwright/test";
|
||||||
import { BasePage } from './BasePage';
|
import { BasePage } from "./BasePage";
|
||||||
import { IPaymentDetails } from '@business-logic/types/CustomerDetails';
|
import { IPaymentDetails } from "@business-logic/types/CustomerDetails";
|
||||||
|
|
||||||
export class PaypalPage extends BasePage {
|
export class PaypalPage extends BasePage {
|
||||||
readonly page: Page;
|
readonly page: Page;
|
||||||
readonly loginWithPasswordButton: Locator;
|
readonly usernameTextBox: Locator;
|
||||||
readonly passwordTextBox: Locator;
|
readonly nextButton: Locator;
|
||||||
readonly paypalLoginButton: Locator;
|
readonly passwordTextBox: Locator;
|
||||||
readonly completePurchaseButton: Locator;
|
readonly paypalLoginButton: Locator;
|
||||||
|
readonly payButton: Locator;
|
||||||
|
|
||||||
constructor(page: Page) {
|
constructor(page: Page) {
|
||||||
super(page);
|
super(page);
|
||||||
this.page = page;
|
this.page = page;
|
||||||
this.loginWithPasswordButton = page.getByRole('link', { name: 'Log in with a password instead' });
|
this.usernameTextBox = page.locator("#email");
|
||||||
this.passwordTextBox = page.getByPlaceholder('Password');
|
this.nextButton = page.getByRole("button", { name: "Next" });
|
||||||
this.paypalLoginButton = page.getByRole('button', { name: 'Log In', exact: true });
|
this.passwordTextBox = page.getByRole("textbox", { name: "Password" });
|
||||||
this.completePurchaseButton = page.getByTestId('submit-button-initial');
|
this.paypalLoginButton = page.getByRole("button", {
|
||||||
}
|
name: "Log In",
|
||||||
|
exact: true,
|
||||||
|
});
|
||||||
|
this.payButton = page.getByRole("button", { name: "Pay $" });
|
||||||
|
}
|
||||||
|
|
||||||
async completePaypalPurchase(paymentDetails: IPaymentDetails){
|
async completePaypalPurchase(paymentDetails: IPaymentDetails) {
|
||||||
await this.loginWithPasswordButton.click();
|
await this.usernameTextBox.fill(paymentDetails.username!);
|
||||||
await this.passwordTextBox.fill(paymentDetails.password!);
|
await this.nextButton.click();
|
||||||
await this.paypalLoginButton.click();
|
await this.passwordTextBox.fill(paymentDetails.password!);
|
||||||
await this.completePurchaseButton.click();
|
await this.paypalLoginButton.click();
|
||||||
}
|
await this.payButton.click();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue