Skip to content

Commit bece163

Browse files
committed
MultiPage_DockerRevert
1 parent 31b70cc commit bece163

File tree

5 files changed

+14
-28
lines changed

5 files changed

+14
-28
lines changed

Diff for: Dockerfile

+2-17
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
1-
FROM mcr.microsoft.com/playwright:next
1+
FROM mcr.microsoft.com/playwright:v1.22.0-focal
22

3-
#Create a new Folder to provide permissions for non root user
4-
RUN mkdir -p /newfolder
5-
6-
WORKDIR /newfolder
7-
8-
#Switched to root user to install dependencies
9-
USER root
3+
WORKDIR /app
104

115
COPY package.json package-lock.json ./
126

@@ -16,13 +10,4 @@ COPY . .
1610

1711
RUN npx playwright install chrome
1812

19-
#Creating a User(Turing) with non Root Permissions
20-
RUN useradd -u 8877 Turing
21-
22-
#Permission inside newfolder so that reports can be generated
23-
RUN chown Turing /newfolder
24-
25-
#Switch from root user to non root user
26-
USER Turing
27-
2813
CMD ["npx","cross-env","ENV=qa","npm","run","test:serial"]

Diff for: lib/WebActions.ts

+8-7
Original file line numberDiff line numberDiff line change
@@ -127,14 +127,15 @@ export class WebActions {
127127
}
128128

129129

130-
async verifyNewWindowUrl(context: BrowserContext, locator: string, urlText: string): Promise<void> {
131-
const [newWindow] = await Promise.all([
132-
context.waitForEvent("page"),
133-
await this.page.click(locator)
130+
async verifyNewWindowUrlAndClick(context: BrowserContext, newWindowLocator: string, urlText: string,clickOnNewWindowLocator:string): Promise<void> {
131+
const [newPage] = await Promise.all([
132+
context.waitForEvent('page'),
133+
this.page.click(newWindowLocator)
134134
])
135-
await newWindow.waitForLoadState("load");
136-
expect(newWindow.url()).toContain(urlText);
137-
await newWindow.close();
135+
await newPage.waitForLoadState();
136+
expect(newPage.url()).toContain(urlText);
137+
await newPage.click(clickOnNewWindowLocator);
138+
await newPage.close();
138139
}
139140

140141
async verifyElementContainsText(locator: string, text: string): Promise<void> {

Diff for: pageFactory/objectRepository/MyAccountPageObjects.ts

+1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ export class MyAccountPageObjects {
22
MY_ACCOUNT_HDR_XPATH = `//h1[contains(text(),'My account')]`;
33
MY_ACCOUNT_LINKS_XPATH = `//span[contains(text(),'linkName')]`;
44
MY_ACCOUNT_FOLLOW_FB_LINK_XPATH="//span[text()='Facebook']/..";
5+
MY_ACCOUNT_FB_MEMBERS_LINK_XPATH=`//a[contains(text(),'members')]`;
56
}

Diff for: pageFactory/pageRepository/MyAccountPage.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ export class MyAccountPage {
2222
await webActions.clickElement(this.myAccountPageObjects.MY_ACCOUNT_LINKS_XPATH.replace(`linkName`, linkName));
2323
}
2424

25-
async verifyFollowUsFBWindow(context: BrowserContext, urlText: string): Promise<void> {
26-
await webActions.verifyNewWindowUrl(context, this.myAccountPageObjects.MY_ACCOUNT_FOLLOW_FB_LINK_XPATH, urlText);
27-
25+
async verifyFollowUsFBWindowAndClickMembers(context: BrowserContext, urlText: string): Promise<void> {
26+
await webActions.verifyNewWindowUrlAndClick(context, this.myAccountPageObjects.MY_ACCOUNT_FOLLOW_FB_LINK_XPATH, urlText,this.myAccountPageObjects.MY_ACCOUNT_FB_MEMBERS_LINK_XPATH);
2827
}
2928

3029
}

Diff for: tests/functional/FollowUsMultipleWindow.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ test(`@Smoke Verify Follow Us Facebook new window.`, async ({ context, loginPage
44
await loginPage.navigateToURL();
55
await loginPage.loginToApplication();
66
await myAccountPage.verifyMyAccountHeader();
7-
await myAccountPage.verifyFollowUsFBWindow(context, "facebook");
7+
await myAccountPage.verifyFollowUsFBWindowAndClickMembers(context, "facebook");
88
});

0 commit comments

Comments
 (0)