diff --git a/e2e/config/appium.capabilities.json b/e2e/config/appium.capabilities.json index f33ede526..5f36a351c 100644 --- a/e2e/config/appium.capabilities.json +++ b/e2e/config/appium.capabilities.json @@ -37,7 +37,7 @@ }, "android22": { "platformName": "Android", - "platformVersion": "5.0", + "platformVersion": "5.1", "deviceName": "Emulator-Api22-Default", "avd": "Emulator-Api22-Default", "lt": 60000, @@ -155,6 +155,13 @@ "noReset": true, "fullReset": false }, + "sim.iPhoneXS.latest": { + "platformName": "iOS", + "platformVersion": "12.1", + "deviceName": "iPhone XS", + "noReset": true, + "fullReset": false + }, "sim.iPhoneXR": { "platformName": "iOS", "platformVersion": "12.0", diff --git a/e2e/renderer/app/list.component.ts b/e2e/renderer/app/list.component.ts index e486262f5..168370525 100644 --- a/e2e/renderer/app/list.component.ts +++ b/e2e/renderer/app/list.component.ts @@ -1,8 +1,9 @@ import { Component } from "@angular/core"; @Component({ + styles: ["Button { font-size: 10; margin: 0; padding: 0 }"], template: ` - + diff --git a/e2e/renderer/e2e/action-bar.e2e-spec.ts b/e2e/renderer/e2e/action-bar.e2e-spec.ts index 312df8a19..f92fc8b97 100644 --- a/e2e/renderer/e2e/action-bar.e2e-spec.ts +++ b/e2e/renderer/e2e/action-bar.e2e-spec.ts @@ -21,21 +21,27 @@ describe("Action Bar scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("ActionBar dynamic", SearchOptions.exact); + await driver.findElementByAutomationText("ActionBar dynamic"); await navigationButton.click(); const actionBar = - await driver.findElementByText("Action Bar Dynamic Items", SearchOptions.exact); + await driver.findElementByAutomationText("Action Bar Dynamic Items"); }); it("should find elements", async () => { - firstActionItem = await driver.findElementByText("one"); - secondActionItem = await driver.findElementByText("two"); + firstActionItem = await driver.findElementByAutomationText("one"); + secondActionItem = await driver.findElementByAutomationText("two"); - toggleFirstButton = await driver.findElementByText("toggle 1"); - toggleSecondButton = await driver.findElementByText("toggle 2"); + toggleFirstButton = await driver.findElementByAutomationText("toggle 1"); + toggleSecondButton = await driver.findElementByAutomationText("toggle 2"); }); it("should initially render the action items in the correct order", async () => { @@ -47,7 +53,7 @@ describe("Action Bar scenario", () => { await toggleFirst(); try { - await driver.findElementByText("one", SearchOptions.exact); + await driver.findElementByAutomationText("one"); } catch (e) { done(); } @@ -64,7 +70,7 @@ describe("Action Bar scenario", () => { await toggleSecond(); try { - await driver.findElementByText("two", SearchOptions.exact); + await driver.findElementByAutomationText("two"); } catch (e) { done(); } @@ -109,15 +115,21 @@ describe("Action Bar scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("ActionBarExtension", SearchOptions.exact); + await driver.findElementByAutomationText("ActionBarExtension"); await navigationButton.click(); }); it("should find elements", async () => { - toggleButton = await driver.findElementByText("toggle"); - conditional = await driver.findElementByText("conditional"); + toggleButton = await driver.findElementByAutomationText("toggle"); + conditional = await driver.findElementByAutomationText("conditional"); }); it("should detach conditional action item when its condition is false", done => { @@ -125,7 +137,7 @@ describe("Action Bar scenario", () => { await toggle(); try { - await driver.findElementByText("conditional", SearchOptions.exact); + await driver.findElementByAutomationText("conditional"); } catch (e) { done(); } diff --git a/e2e/renderer/e2e/ngfor.e2e-spec.ts b/e2e/renderer/e2e/ngfor.e2e-spec.ts index ff0f0a162..007def76f 100644 --- a/e2e/renderer/e2e/ngfor.e2e-spec.ts +++ b/e2e/renderer/e2e/ngfor.e2e-spec.ts @@ -19,22 +19,28 @@ describe("ngFor scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("NgFor", SearchOptions.exact); + await driver.findElementByAutomationText("NgFor"); await navigationButton.click(); const actionBar = - await driver.findElementByText("ngFor", SearchOptions.exact); + await driver.findElementByAutomationText("ngFor"); }); it("should find elements", async () => { - const first = await driver.findElementByText( - lastAddedElementId.toString(), SearchOptions.exact); + const first = await driver.findElementByAutomationText( + lastAddedElementId.toString()); elements.push(first); - addButton = await driver.findElementByText("add", SearchOptions.exact); - removeButton = await driver.findElementByText("remove", SearchOptions.exact); + addButton = await driver.findElementByAutomationText("add"); + removeButton = await driver.findElementByAutomationText("remove"); await isAbove(first, addButton); }); @@ -75,8 +81,8 @@ describe("ngFor scenario", () => { await addButton.click(); lastAddedElementId += 1; - const newElement = await driver.findElementByText( - lastAddedElementId.toString(), SearchOptions.exact); + const newElement = await driver.findElementByAutomationText( + lastAddedElementId.toString()); elements.push(newElement); }; @@ -96,8 +102,8 @@ describe("ngFor scenario", () => { }; const checkAppendedCorrectly = async () => { - const lastAdded = await driver.findElementByText( - lastAddedElementId.toString(), SearchOptions.exact); + const lastAdded = await driver.findElementByAutomationText( + lastAddedElementId.toString()); await isAbove(elements.slice(-2)[0], lastAdded); await isAbove(lastAdded, addButton); diff --git a/e2e/renderer/e2e/ngforof.e2e-spec.ts b/e2e/renderer/e2e/ngforof.e2e-spec.ts index e82406777..219fa08bb 100644 --- a/e2e/renderer/e2e/ngforof.e2e-spec.ts +++ b/e2e/renderer/e2e/ngforof.e2e-spec.ts @@ -25,21 +25,27 @@ describe("ngForOf scenario", function () { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("NgForOf", SearchOptions.exact); + await driver.findElementByAutomationText("NgForOf"); await navigationButton.click(); const actionBar = - await driver.findElementByText("ngForOf", SearchOptions.exact); + await driver.findElementByAutomationText("ngForOf"); }); it("should find elements", async () => { const firstElement = await getElement(lastAddedElementId); elements.push(firstElement); - addButton = await driver.findElementByText("add", SearchOptions.exact); - removeButton = await driver.findElementByText("remove", SearchOptions.exact); + addButton = await driver.findElementByAutomationText("add"); + removeButton = await driver.findElementByAutomationText("remove"); await elementTupleCorrectlyRendered(firstElement); await isAbove(firstElement.button, addButton); @@ -150,11 +156,11 @@ describe("ngForOf scenario", function () { button = await driver.findElementByAccessibilityId( id.toString()); } else { - label = await driver.findElementByText( - "label: " + id.toString(), SearchOptions.exact); + label = await driver.findElementByAutomationText( + "label: " + id.toString()); - button = await driver.findElementByText( - id.toString(), SearchOptions.exact); + button = await driver.findElementByAutomationText( + id.toString()); } return { label, button }; diff --git a/e2e/renderer/e2e/ngif.e2e-spec.ts b/e2e/renderer/e2e/ngif.e2e-spec.ts index 4684fe4df..e164114f8 100644 --- a/e2e/renderer/e2e/ngif.e2e-spec.ts +++ b/e2e/renderer/e2e/ngif.e2e-spec.ts @@ -19,24 +19,30 @@ describe("ngIf scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("NgIf no layout", SearchOptions.exact); + await driver.findElementByAutomationText("NgIf no layout"); await navigationButton.click(); const actionBar = - await driver.findElementByText("ngIf - no layout", SearchOptions.exact); + await driver.findElementByAutomationText("ngIf - no layout"); }); it("should find elements", async () => { - await driver.findElementByText("false", SearchOptions.exact); - toggleButton = await driver.findElementByText("Toggle", SearchOptions.exact); + await driver.findElementByAutomationText("false"); + toggleButton = await driver.findElementByAutomationText("Toggle"); }); it("show 'true' button when show is true", async () => { await toggleButton.click(); - await driver.findElementByText("true", SearchOptions.exact); + await driver.findElementByAutomationText("true"); }); }); @@ -51,21 +57,27 @@ describe("ngIf scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("NgIf inbetween", SearchOptions.exact); + await driver.findElementByAutomationText("NgIf inbetween"); await navigationButton.click(); const actionBar = - await driver.findElementByText("ngIf - inbetween", SearchOptions.exact); + await driver.findElementByAutomationText("ngIf - inbetween"); }); it("should find elements", async () => { - firstButton = await driver.findElementByText("Button 1", SearchOptions.exact); - secondButton = await driver.findElementByText("Button 2", SearchOptions.exact); - toggleButton = await driver.findElementByText("Toggle", SearchOptions.exact); + firstButton = await driver.findElementByAutomationText("Button 1"); + secondButton = await driver.findElementByAutomationText("Button 2"); + toggleButton = await driver.findElementByAutomationText("Toggle"); - conditionalLabel = await driver.findElementByText("Label", SearchOptions.exact); + conditionalLabel = await driver.findElementByAutomationText("Label"); const labelIsDisplayed = await conditionalLabel.isDisplayed(); assert.isTrue(labelIsDisplayed); }); @@ -75,7 +87,7 @@ describe("ngIf scenario", () => { await toggleButton.click(); try { - await driver.findElementByText("Label", SearchOptions.exact); + await driver.findElementByAutomationText("Label"); } catch (e) { done(); } @@ -93,22 +105,28 @@ describe("ngIf scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("NgIfElse", SearchOptions.exact); + await driver.findElementByAutomationText("NgIfElse"); await navigationButton.click(); const actionBar = - await driver.findElementByText("ngIfElse", SearchOptions.exact); + await driver.findElementByAutomationText("ngIfElse"); }); it("should find elements", async () => { - toggleButton = await driver.findElementByText("Toggle", SearchOptions.exact); - ifButton = await driver.findElementByText("If", SearchOptions.exact); + toggleButton = await driver.findElementByAutomationText("Toggle"); + ifButton = await driver.findElementByAutomationText("If"); }); it("shouldn't render 'else' template when condition is true", done => { - driver.findElementByText("Else", SearchOptions.exact) + driver.findElementByAutomationText("Else", SearchOptions.exact) .then(_ => { throw new Error("Else template found!"); }) .catch(() => done()); }); @@ -116,11 +134,11 @@ describe("ngIf scenario", () => { it("should attach 'else' template when condition is changed to false", async () => { await toggleButton.click(); - elseButton = await driver.findElementByText("Else", SearchOptions.exact); + elseButton = await driver.findElementByAutomationText("Else"); }); it("should detach 'if' template when condition is changed to false", done => { - driver.findElementByText("If", SearchOptions.exact) + driver.findElementByAutomationText("If", SearchOptions.exact) .then(_ => { throw new Error("If template found!"); }) .catch(() => done()); }); @@ -130,7 +148,7 @@ describe("ngIf scenario", () => { await toggleButton.click(); try { - await driver.findElementByText("Else", SearchOptions.exact); + await driver.findElementByAutomationText("Else"); } catch (e) { done(); } @@ -148,22 +166,28 @@ describe("ngIf scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("NgIf Then Else", SearchOptions.exact); + await driver.findElementByAutomationText("NgIf Then Else"); await navigationButton.click(); const actionBar = - await driver.findElementByText("ngIf Then Else", SearchOptions.exact); + await driver.findElementByAutomationText("ngIf Then Else"); }); it("should find elements", async () => { - toggleButton = await driver.findElementByText("Toggle", SearchOptions.exact); - thenButton = await driver.findElementByText("Then", SearchOptions.exact); + toggleButton = await driver.findElementByAutomationText("Toggle"); + thenButton = await driver.findElementByAutomationText("Then"); }); it("shouldn't render 'else' template when condition is true", done => { - driver.findElementByText("Else", SearchOptions.exact) + driver.findElementByAutomationText("Else", SearchOptions.exact) .then(_ => { throw new Error("Else template found!"); }) .catch(() => done()); }); @@ -171,11 +195,11 @@ describe("ngIf scenario", () => { it("should attach 'else' template when condition is changed to false", async () => { await toggleButton.click(); - elseButton = await driver.findElementByText("Else", SearchOptions.exact); + elseButton = await driver.findElementByAutomationText("Else"); }); it("should detach 'then' template when condition is changed to false", done => { - driver.findElementByText("Then", SearchOptions.exact) + driver.findElementByAutomationText("Then", SearchOptions.exact) .then(_ => { throw new Error("Then template found!"); }) .catch(() => done()); }); @@ -185,7 +209,7 @@ describe("ngIf scenario", () => { await toggleButton.click(); try { - await driver.findElementByText("Else", SearchOptions.exact); + await driver.findElementByAutomationText("Else"); } catch (e) { done(); } @@ -203,22 +227,28 @@ describe("ngIf scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("Content view", SearchOptions.exact); + await driver.findElementByAutomationText("Content view"); await navigationButton.click(); const actionBar = - await driver.findElementByText("Content View", SearchOptions.exact); + await driver.findElementByAutomationText("Content View"); }); it("should find elements", async () => { - toggleButton = await driver.findElementByText("Toggle", SearchOptions.exact); - thenButton = await driver.findElementByText("Then", SearchOptions.exact); + toggleButton = await driver.findElementByAutomationText("Toggle"); + thenButton = await driver.findElementByAutomationText("Then"); }); it("shouldn't render 'else' template when condition is true", done => { - driver.findElementByText("Else", SearchOptions.exact) + driver.findElementByAutomationText("Else", SearchOptions.exact) .then(_ => { throw new Error("Else template found!"); }) .catch(() => done()); }); @@ -226,11 +256,11 @@ describe("ngIf scenario", () => { it("should attach 'else' template when condition is changed to false", async () => { await toggleButton.click(); - elseButton = await driver.findElementByText("Else", SearchOptions.exact); + elseButton = await driver.findElementByAutomationText("Else"); }); it("should detach 'then' template when condition is changed to false", done => { - driver.findElementByText("Then", SearchOptions.exact) + driver.findElementByAutomationText("Then", SearchOptions.exact) .then(_ => { throw new Error("Then template found!"); }) .catch(() => done()); }); @@ -240,7 +270,7 @@ describe("ngIf scenario", () => { await toggleButton.click(); try { - await driver.findElementByText("Else", SearchOptions.exact); + await driver.findElementByAutomationText("Else"); } catch (e) { done(); } @@ -259,18 +289,24 @@ describe("ngIf scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("NgIf Subsequent Ifs", SearchOptions.exact); + await driver.findElementByAutomationText("NgIf Subsequent Ifs"); await navigationButton.click(); }); it("should find elements", async () => { - firstButton = await driver.findElementByText("Toggle first", SearchOptions.exact); - secondButton = await driver.findElementByText("Toggle second", SearchOptions.exact); + firstButton = await driver.findElementByAutomationText("Toggle first"); + secondButton = await driver.findElementByAutomationText("Toggle second"); - firstLabel = await driver.findElementByText("== 1 ==", SearchOptions.exact); - secondLabel = await driver.findElementByText("== 2 ==", SearchOptions.exact); + firstLabel = await driver.findElementByAutomationText("== 1 =="); + secondLabel = await driver.findElementByAutomationText("== 2 =="); assert.isDefined(firstButton); assert.isDefined(secondButton); @@ -281,7 +317,7 @@ describe("ngIf scenario", () => { it("should toggle on first view", async () => { await firstButton.click(); - let conditional = await driver.findElementByText("first", SearchOptions.exact); + let conditional = await driver.findElementByAutomationText("first"); await isAbove(firstLabel, conditional); await isAbove(conditional, secondLabel); @@ -291,7 +327,7 @@ describe("ngIf scenario", () => { (async () => { await firstButton.click(); - driver.findElementByText("first", SearchOptions.exact, 500) + driver.findElementsByAutomationText("first", 500) .then(_ => { throw new Error("first label found!"); }) .catch(() => done()); })(); @@ -300,7 +336,7 @@ describe("ngIf scenario", () => { it("should toggle on second view", async () => { await secondButton.click(); - let conditional = await driver.findElementByText("second", SearchOptions.exact); + let conditional = await driver.findElementByAutomationText("second"); await isAbove(firstLabel, conditional); await isAbove(conditional, secondLabel); }); @@ -309,7 +345,7 @@ describe("ngIf scenario", () => { (async () => { await secondButton.click(); - driver.findElementByText("first", SearchOptions.exact, 500) + driver.findElementByAutomationText("first", 500) .then(_ => { throw new Error("first label found!"); }) .catch(() => done()); })(); @@ -319,8 +355,8 @@ describe("ngIf scenario", () => { await firstButton.click(); await secondButton.click(); - let conditional1 = await driver.findElementByText("first", SearchOptions.exact); - let conditional2 = await driver.findElementByText("second", SearchOptions.exact); + let conditional1 = await driver.findElementByAutomationText("first"); + let conditional2 = await driver.findElementByAutomationText("second"); await isAbove(firstLabel, conditional1); await isAbove(conditional1, conditional2); await isAbove(conditional2, secondLabel); @@ -331,10 +367,10 @@ describe("ngIf scenario", () => { await firstButton.click(); await secondButton.click(); - driver.findElementByText("first", SearchOptions.exact, 500) + driver.findElementByAutomationText("first", 500) .then(_ => { throw new Error("first label found!"); }) .catch(() => { - driver.findElementByText("second", SearchOptions.exact, 500) + driver.findElementByAutomationText("second", 500) .then(_ => { throw new Error("second label found!"); }) .catch(() => done()); }); @@ -345,8 +381,8 @@ describe("ngIf scenario", () => { await secondButton.click(); await firstButton.click(); - let conditional1 = await driver.findElementByText("first", SearchOptions.exact); - let conditional2 = await driver.findElementByText("second", SearchOptions.exact); + let conditional1 = await driver.findElementByAutomationText("first"); + let conditional2 = await driver.findElementByAutomationText("second"); await isAbove(firstLabel, conditional1); await isAbove(conditional1, conditional2); await isAbove(conditional2, secondLabel); @@ -357,10 +393,10 @@ describe("ngIf scenario", () => { await secondButton.click(); await firstButton.click(); - driver.findElementByText("first", SearchOptions.exact, 500) + driver.findElementByAutomationText("first", 500) .then(_ => { throw new Error("first label found!"); }) .catch(() => { - driver.findElementByText("second", SearchOptions.exact, 500) + driver.findElementByAutomationText("second", 500) .then(_ => { throw new Error("second label found!"); }) .catch(() => done()); }); diff --git a/e2e/renderer/e2e/page-router-outlet.e2e-spec.ts b/e2e/renderer/e2e/page-router-outlet.e2e-spec.ts index 2553cd67b..8746c5707 100644 --- a/e2e/renderer/e2e/page-router-outlet.e2e-spec.ts +++ b/e2e/renderer/e2e/page-router-outlet.e2e-spec.ts @@ -15,12 +15,18 @@ describe("page-router-outlet-scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("ActionBarVisibility Always", SearchOptions.exact); + await driver.findElementByAutomationText("ActionBarVisibility Always"); await navigationButton.click(); - await driver.findElementByText("ShowActionBar", SearchOptions.exact); + await driver.findElementByAutomationText("ShowActionBar"); }); it("should not hide action bar by default", async () => { @@ -29,7 +35,7 @@ describe("page-router-outlet-scenario", () => { }); it("should not hide action bar when hidden by page", async () => { - const hideActionBarButton = await driver.findElementByText("HideActionBar"); + const hideActionBarButton = await driver.findElementByAutomationText("HideActionBar"); hideActionBarButton.click(); const screenMatches = await driver.compareScreen("actionBarVisibility-always-hidden", 5); @@ -37,7 +43,7 @@ describe("page-router-outlet-scenario", () => { }); it("should not do anything when shown action bar by page", async () => { - const showActionBarButton = await driver.findElementByText("ShowActionBar"); + const showActionBarButton = await driver.findElementByAutomationText("ShowActionBar"); showActionBarButton.click(); const screenMatches = await driver.compareScreen("actionBarVisibility-always-shown", 5); @@ -51,12 +57,18 @@ describe("page-router-outlet-scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("ActionBarVisibility Never", SearchOptions.exact); + await driver.findElementByAutomationText("ActionBarVisibility Never"); await navigationButton.click(); - await driver.findElementByText("ShowActionBar", SearchOptions.exact); + await driver.findElementByAutomationText("ShowActionBar"); }); it("should hide action bar by default", async () => { @@ -65,7 +77,7 @@ describe("page-router-outlet-scenario", () => { }); it("should not show action bar when shown by page", async () => { - const showActionBarButton = await driver.findElementByText("ShowActionBar"); + const showActionBarButton = await driver.findElementByAutomationText("ShowActionBar"); showActionBarButton.click(); const screenMatches = await driver.compareScreen("actionBarVisibility-never-shown", 5); @@ -73,7 +85,7 @@ describe("page-router-outlet-scenario", () => { }); it("should not do anything when hidden action bar by page", async () => { - const hideActionBarButton = await driver.findElementByText("HideActionBar"); + const hideActionBarButton = await driver.findElementByAutomationText("HideActionBar"); hideActionBarButton.click(); const screenMatches = await driver.compareScreen("actionBarVisibility-never-hidden", 5); @@ -87,12 +99,18 @@ describe("page-router-outlet-scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("ActionBarVisibility Auto", SearchOptions.exact); + await driver.findElementByAutomationText("ActionBarVisibility Auto"); await navigationButton.click(); - await driver.findElementByText("ShowActionBar", SearchOptions.exact); + await driver.findElementByAutomationText("ShowActionBar"); }); it("should show action bar by default", async () => { @@ -101,7 +119,7 @@ describe("page-router-outlet-scenario", () => { }); it("should hide action bar when hidden by page", async () => { - const hideActionBarButton = await driver.findElementByText("HideActionBar"); + const hideActionBarButton = await driver.findElementByAutomationText("HideActionBar"); hideActionBarButton.click(); const screenMatches = await driver.compareScreen("actionBarVisibility-auto-hidden", 5); @@ -109,7 +127,7 @@ describe("page-router-outlet-scenario", () => { }); it("should show action bar when shown by page", async () => { - const showActionBarButton = await driver.findElementByText("ShowActionBar"); + const showActionBarButton = await driver.findElementByAutomationText("ShowActionBar"); showActionBarButton.click(); const screenMatches = await driver.compareScreen("actionBarVisibility-auto-shown", 5); diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-always-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-always-default.png new file mode 100644 index 000000000..af6e05907 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-always-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-always-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-always-hidden.png new file mode 100644 index 000000000..af6e05907 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-always-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-always-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-always-shown.png new file mode 100644 index 000000000..af6e05907 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-always-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-auto-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-auto-default.png new file mode 100644 index 000000000..22ffb753d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-auto-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-auto-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-auto-hidden.png new file mode 100644 index 000000000..1820d9968 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-auto-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-auto-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-auto-shown.png new file mode 100644 index 000000000..22ffb753d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-auto-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-never-default.png new file mode 100644 index 000000000..5e169fead Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..77157b59b Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-never-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-never-shown.png new file mode 100644 index 000000000..77157b59b Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api19-Default/actionBarVisibility-never-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-always-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-always-default.png new file mode 100644 index 000000000..9cd345ecc Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-always-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-always-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-always-hidden.png new file mode 100644 index 000000000..9cd345ecc Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-always-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-always-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-always-shown.png new file mode 100644 index 000000000..e017d9953 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-always-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-auto-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-auto-default.png new file mode 100644 index 000000000..edf61335c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-auto-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-auto-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-auto-hidden.png new file mode 100644 index 000000000..edf61335c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-auto-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-auto-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-auto-shown.png new file mode 100644 index 000000000..445b7c3ed Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-auto-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-never-default.png new file mode 100644 index 000000000..a2518a90d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..3e918bcfe Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-never-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-never-shown.png new file mode 100644 index 000000000..a2518a90d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api21-Default/actionBarVisibility-never-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-always-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-always-default.png new file mode 100644 index 000000000..9cd345ecc Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-always-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-always-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-always-hidden.png new file mode 100644 index 000000000..9cd345ecc Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-always-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-always-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-always-shown.png new file mode 100644 index 000000000..e017d9953 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-always-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-auto-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-auto-default.png new file mode 100644 index 000000000..edf61335c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-auto-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-auto-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-auto-hidden.png new file mode 100644 index 000000000..edf61335c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-auto-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-auto-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-auto-shown.png new file mode 100644 index 000000000..445b7c3ed Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-auto-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-never-default.png new file mode 100644 index 000000000..a2518a90d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..3e918bcfe Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-never-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-never-shown.png new file mode 100644 index 000000000..a2518a90d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api22-Default/actionBarVisibility-never-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-always-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-always-default.png new file mode 100644 index 000000000..782f0f32c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-always-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-always-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-always-hidden.png new file mode 100644 index 000000000..782f0f32c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-always-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-always-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-always-shown.png new file mode 100644 index 000000000..1608b2c8b Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-always-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-auto-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-auto-default.png new file mode 100644 index 000000000..e7a1e22ab Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-auto-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-auto-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-auto-hidden.png new file mode 100644 index 000000000..e7a1e22ab Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-auto-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-auto-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-auto-shown.png new file mode 100644 index 000000000..9aace1b2f Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-auto-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-never-default.png new file mode 100644 index 000000000..8fd59b248 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..b8581a8bf Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-never-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-never-shown.png new file mode 100644 index 000000000..8fd59b248 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api24-Default/actionBarVisibility-never-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-always-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-always-default.png new file mode 100644 index 000000000..6a817111d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-always-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-always-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-always-hidden.png new file mode 100644 index 000000000..6a817111d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-always-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-always-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-always-shown.png new file mode 100644 index 000000000..cbbde7786 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-always-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-auto-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-auto-default.png new file mode 100644 index 000000000..313a64685 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-auto-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-auto-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-auto-hidden.png new file mode 100644 index 000000000..313a64685 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-auto-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-auto-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-auto-shown.png new file mode 100644 index 000000000..71f266277 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-auto-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-never-default.png new file mode 100644 index 000000000..def293798 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..79ad4bb71 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-never-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-never-shown.png new file mode 100644 index 000000000..def293798 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api25-Google/actionBarVisibility-never-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-always-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-always-default.png new file mode 100644 index 000000000..f056bfa0d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-always-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-always-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-always-hidden.png new file mode 100644 index 000000000..f056bfa0d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-always-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-always-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-always-shown.png new file mode 100644 index 000000000..015a4398b Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-always-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-auto-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-auto-default.png new file mode 100644 index 000000000..938b019c9 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-auto-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-auto-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-auto-hidden.png new file mode 100644 index 000000000..938b019c9 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-auto-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-auto-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-auto-shown.png new file mode 100644 index 000000000..b47cb9e45 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-auto-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-never-default.png new file mode 100644 index 000000000..69c7c667c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..3f2ee27fd Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-never-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-never-shown.png new file mode 100644 index 000000000..69c7c667c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api26-Google/actionBarVisibility-never-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-always-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-always-default.png new file mode 100644 index 000000000..1ddb743a1 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-always-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-always-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-always-hidden.png new file mode 100644 index 000000000..1ddb743a1 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-always-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-always-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-always-shown.png new file mode 100644 index 000000000..87ca98260 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-always-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-auto-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-auto-default.png new file mode 100644 index 000000000..ebea2dea8 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-auto-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-auto-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-auto-hidden.png new file mode 100644 index 000000000..ebea2dea8 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-auto-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-auto-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-auto-shown.png new file mode 100644 index 000000000..7414e39c4 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-auto-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-never-default.png new file mode 100644 index 000000000..203e68d79 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..738e9dccc Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-never-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-never-shown.png new file mode 100644 index 000000000..cd58d6bbe Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api27-Google/actionBarVisibility-never-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-always-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-always-default.png new file mode 100644 index 000000000..bc0d1a05f Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-always-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-always-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-always-hidden.png new file mode 100644 index 000000000..bc0d1a05f Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-always-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-always-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-always-shown.png new file mode 100644 index 000000000..bc0d1a05f Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-always-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-auto-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-auto-default.png new file mode 100644 index 000000000..35f7b558f Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-auto-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-auto-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-auto-hidden.png new file mode 100644 index 000000000..35f7b558f Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-auto-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-auto-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-auto-shown.png new file mode 100644 index 000000000..e9d1bf64a Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-auto-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-never-default.png new file mode 100644 index 000000000..3559eb226 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..1af63885d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-never-shown.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-never-shown.png new file mode 100644 index 000000000..3559eb226 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/actionBarVisibility-never-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/tab-view-binding-first-tab.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/tab-view-binding-first-tab.png new file mode 100644 index 000000000..485cdec79 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/tab-view-binding-first-tab.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/tab-view-binding-second-tab.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/tab-view-binding-second-tab.png new file mode 100644 index 000000000..a5738294d Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/tab-view-binding-second-tab.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/tab-view-binding-third-tab.png b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/tab-view-binding-third-tab.png new file mode 100644 index 000000000..c5f16603a Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/Emulator-Api28-Google/tab-view-binding-third-tab.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-default_actual.png b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-default.png similarity index 100% rename from e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-default_actual.png rename to e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-default.png diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-hidden_actual.png b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-hidden.png similarity index 100% rename from e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-hidden_actual.png rename to e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-hidden.png diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-shown_actual.png b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-shown.png similarity index 100% rename from e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-shown_actual.png rename to e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-always-shown.png diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-default_actual.png b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-default.png similarity index 100% rename from e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-default_actual.png rename to e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-default.png diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-hidden_actual.png b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-hidden.png similarity index 100% rename from e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-hidden_actual.png rename to e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-hidden.png diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-shown_actual.png b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-shown.png similarity index 100% rename from e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-shown_actual.png rename to e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-auto-shown.png diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-default.png new file mode 100644 index 000000000..99ebc13a7 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..a9efd56f9 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-shown_actual.png b/e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-shown.png similarity index 100% rename from e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-shown_actual.png rename to e2e/renderer/e2e/resources/images/renderer/iPhone X 110/actionBarVisibility-never-shown.png diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-always-default.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-always-default.png new file mode 100644 index 000000000..fc09b4860 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-always-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-always-hidden.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-always-hidden.png new file mode 100644 index 000000000..d68c4ec93 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-always-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-always-shown.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-always-shown.png new file mode 100644 index 000000000..d68c4ec93 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-always-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-auto-default.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-auto-default.png new file mode 100644 index 000000000..e43126a22 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-auto-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-auto-hidden.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-auto-hidden.png new file mode 100644 index 000000000..4af0cf3d8 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-auto-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-auto-shown.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-auto-shown.png new file mode 100644 index 000000000..2b50a8104 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-auto-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-never-default.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-never-default.png new file mode 100644 index 000000000..de5e9bd34 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-never-default.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-never-hidden.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-never-hidden.png new file mode 100644 index 000000000..653bf602c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-never-hidden.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-never-shown.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-never-shown.png new file mode 100644 index 000000000..653bf602c Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/actionBarVisibility-never-shown.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/tab-view-binding-first-tab.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/tab-view-binding-first-tab.png new file mode 100644 index 000000000..090808fcd Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/tab-view-binding-first-tab.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/tab-view-binding-second-tab.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/tab-view-binding-second-tab.png new file mode 100644 index 000000000..aac9eda44 Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/tab-view-binding-second-tab.png differ diff --git a/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/tab-view-binding-third-tab.png b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/tab-view-binding-third-tab.png new file mode 100644 index 000000000..82796824e Binary files /dev/null and b/e2e/renderer/e2e/resources/images/renderer/iPhone XS 12/tab-view-binding-third-tab.png differ diff --git a/e2e/renderer/e2e/setup.ts b/e2e/renderer/e2e/setup.ts index 2d1daceda..d52e381d0 100644 --- a/e2e/renderer/e2e/setup.ts +++ b/e2e/renderer/e2e/setup.ts @@ -10,10 +10,4 @@ before("start server", async () => { after("stop server", async () => { await driver.quit(); await stopServer(); -}); - -afterEach(async function () { - if (this.currentTest.state === "failed") { - await driver.logTestArtifacts(this.currentTest.title); - } }); \ No newline at end of file diff --git a/e2e/renderer/e2e/tab-view.e2e-spec.ts b/e2e/renderer/e2e/tab-view.e2e-spec.ts index fd9ab15f0..f5415289f 100644 --- a/e2e/renderer/e2e/tab-view.e2e-spec.ts +++ b/e2e/renderer/e2e/tab-view.e2e-spec.ts @@ -19,54 +19,60 @@ describe("TabView-scenario", () => { await driver.driver.resetApp(); }); + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logTestArtifacts(this.currentTest.title); + } + }); + it("should navigate to page", async () => { const navigationButton = - await driver.findElementByText("TabItem Binding", SearchOptions.exact); + await driver.findElementByAutomationText("TabItem Binding"); await navigationButton.click(); - await driver.findElementByText("Tab Item Binding", SearchOptions.exact); + await driver.findElementByAutomationText("Tab Item Binding"); }); it("should find elements", async () => { - await driver.findElementByText("First Tab"); + await driver.findElementByAutomationText("First Tab"); const notSelectedTabItems = await driver.findElementsByText("not selected"); - firstTabItem = await driver.findElementByText("SELECTED"); + firstTabItem = await driver.findElementByAutomationText("SELECTED"); secondTabItem = notSelectedTabItems[0]; thirdTabItem = notSelectedTabItems[1]; - const screenMatches = await driver.compareScreen("tab-view-binding-first-tab", 5); + const screenMatches = await driver.compareScreen("tab-view-binding-first-tab", 5); assert(screenMatches); }); it("should navigate to second tab item", async () => { await secondTabItem.click(); - await driver.findElementByText("Second Tab"); + await driver.findElementByAutomationText("Second Tab"); const notSelectedTabItems = await driver.findElementsByText("not selected"); firstTabItem = notSelectedTabItems[0]; - secondTabItem = await driver.findElementByText("SELECTED"); + secondTabItem = await driver.findElementByAutomationText("SELECTED"); thirdTabItem = notSelectedTabItems[1]; - const screenMatches = await driver.compareScreen("tab-view-binding-second-tab", 5); + const screenMatches = await driver.compareScreen("tab-view-binding-second-tab", 5); assert(screenMatches); }); it("should navigate to third tab item", async () => { await thirdTabItem.click(); - await driver.findElementByText("Third Tab"); + await driver.findElementByAutomationText("Third Tab"); const notSelectedTabItems = await driver.findElementsByText("not selected"); firstTabItem = notSelectedTabItems[0]; secondTabItem = notSelectedTabItems[1]; - thirdTabItem = await driver.findElementByText("SELECTED"); + thirdTabItem = await driver.findElementByAutomationText("SELECTED"); - const screenMatches = await driver.compareScreen("tab-view-binding-third-tab", 5); + const screenMatches = await driver.compareScreen("tab-view-binding-third-tab", 5); assert(screenMatches); }); }); diff --git a/e2e/router-tab-view/e2e/tab-view-navigation.e2e-spec.ts b/e2e/router-tab-view/e2e/tab-view-navigation.e2e-spec.ts index b52412004..b57be824d 100644 --- a/e2e/router-tab-view/e2e/tab-view-navigation.e2e-spec.ts +++ b/e2e/router-tab-view/e2e/tab-view-navigation.e2e-spec.ts @@ -20,13 +20,13 @@ describe("TabView with page-router-outlet in each tab", () => { }); it("should find any tabs by text", async () => { - await driver.findElementByText("Players", SearchOptions.exact); - await driver.findElementByText("Teams", SearchOptions.exact); - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Players"); + await driver.findElementByAutomationText("Teams"); + await driver.findElementByAutomationText("Player List"); }); it("should be able to switch between tabs", async () => { - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); await selectTeamTab(driver); @@ -34,29 +34,29 @@ describe("TabView with page-router-outlet in each tab", () => { }); it("should go forward and go back on first(player) tab", async () => { - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); await navigateToPlayerItem(driver, "Player One", "1"); await driver.navBack(); - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); }); it("should go forward and go back on second(team) tab", async () => { - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); await selectTeamTab(driver); await navigateToTeamItem(driver, "Team Two", "2"); await driver.navBack(); - await driver.findElementByText("Team List", SearchOptions.exact); + await driver.findElementByAutomationText("Team List"); await selectPlayerTab(driver); }); it("should navigate first(player) tab, second(team) tab and back in the same order ", async () => { - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); // Go forward in player tab await navigateToPlayerItem(driver, "Player Three", "3"); @@ -71,16 +71,16 @@ describe("TabView with page-router-outlet in each tab", () => { // Go back in team tab await driver.navBack(); - await driver.findElementByText("Team List", SearchOptions.exact); + await driver.findElementByAutomationText("Team List"); // Go back in player tab await selectPlayerTab(driver, false); await driver.navBack(); - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); }); it("should navigate second(team) tab, first(player) and back in the same order ", async () => { - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); // Go forward in team tab await selectTeamTab(driver); @@ -96,18 +96,18 @@ describe("TabView with page-router-outlet in each tab", () => { // Go back in player tab await driver.navBack(); - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); // Go back in team tab await selectTeamTab(driver, false); await driver.navBack(); - await driver.findElementByText("Team List", SearchOptions.exact); + await driver.findElementByAutomationText("Team List"); await selectPlayerTab(driver); }); it("should navigate first(player) tab, second(team) tab and back in reverse order ", async () => { - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); // Go forward in player tab await navigateToPlayerItem(driver, "Player Three", "3"); @@ -119,21 +119,21 @@ describe("TabView with page-router-outlet in each tab", () => { // Go back in player tab await selectPlayerTab(driver, false); await driver.navBack(); - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); // Go back in player tab await selectTeamTab(driver, false); - await driver.findElementByText("1", SearchOptions.exact); - await driver.findElementByText("Team One", SearchOptions.exact); + await driver.findElementByAutomationText("1"); + await driver.findElementByAutomationText("Team One"); await driver.navBack(); - await driver.findElementByText("Team List", SearchOptions.exact); + await driver.findElementByAutomationText("Team List"); await selectPlayerTab(driver); }); it("should navigate second(team) tab, first(player) tab and back in reverse order ", async () => { - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); // Go forward in team tab await selectTeamTab(driver); @@ -146,48 +146,48 @@ describe("TabView with page-router-outlet in each tab", () => { // Go back in team tab await selectTeamTab(driver, false); await driver.navBack(); - await driver.findElementByText("Team List", SearchOptions.exact); + await driver.findElementByAutomationText("Team List"); // Go back in player tab await selectPlayerTab(driver, false); - await driver.findElementByText("3", SearchOptions.exact); - await driver.findElementByText("Player Three", SearchOptions.exact); + await driver.findElementByAutomationText("3"); + await driver.findElementByAutomationText("Player Three"); await driver.navBack(); - await driver.findElementByText("Player List", SearchOptions.exact); + await driver.findElementByAutomationText("Player List"); }); }); async function navigateToTeamItem(driver: AppiumDriver, name: string, id: string) { - const team = await driver.findElementByText(name, SearchOptions.exact); + const team = await driver.findElementByAutomationText(name); await team.click(); - await driver.findElementByText("Team Details", SearchOptions.exact); - await driver.findElementByText(id, SearchOptions.exact); - await driver.findElementByText(name, SearchOptions.exact); + await driver.findElementByAutomationText("Team Details"); + await driver.findElementByAutomationText(id); + await driver.findElementByAutomationText(name); } async function navigateToPlayerItem(driver: AppiumDriver, name: string, id: string) { - let player = await driver.findElementByText(name, SearchOptions.exact); + let player = await driver.findElementByAutomationText(name); await player.click(); - await driver.findElementByText("Player Details", SearchOptions.exact); - await driver.findElementByText(id, SearchOptions.exact); - await driver.findElementByText(name, SearchOptions.exact); + await driver.findElementByAutomationText("Player Details"); + await driver.findElementByAutomationText(id); + await driver.findElementByAutomationText(name); } async function selectTeamTab(driver: AppiumDriver, expectList = true) { - const teamsTab = await driver.findElementByText("Teams", SearchOptions.exact); + const teamsTab = await driver.findElementByAutomationText("Teams"); await teamsTab.click(); const expectedTitle = expectList ? "Team List" : "Team Details"; - await driver.findElementByText(expectedTitle, SearchOptions.exact); + await driver.findElementByAutomationText(expectedTitle); } async function selectPlayerTab(driver: AppiumDriver, expectList = true) { - const playerTab = await driver.findElementByText("Players", SearchOptions.exact); + const playerTab = await driver.findElementByAutomationText("Players"); await playerTab.click(); const expectedTitle = expectList ? "Player List" : "Player Details"; - await driver.findElementByText(expectedTitle, SearchOptions.exact); + await driver.findElementByAutomationText(expectedTitle); } diff --git a/e2e/router/app/app.css b/e2e/router/app/app.css index 3890d9f3a..dc9ceffbf 100644 --- a/e2e/router/app/app.css +++ b/e2e/router/app/app.css @@ -4,7 +4,7 @@ } .nested-header { - font-size: 26; + font-size: 16; } .nested-outlet { @@ -14,4 +14,9 @@ Label { text-align: center; + font-size: 12; +} + +Button { + font-size: 12; } \ No newline at end of file diff --git a/e2e/router/app/first/first.component.ts b/e2e/router/app/first/first.component.ts index 9445103e9..acb962c63 100644 --- a/e2e/router/app/first/first.component.ts +++ b/e2e/router/app/first/first.component.ts @@ -11,13 +11,13 @@ import { Page } from "tns-core-modules/ui/page"; - - + + - - + + - + ` }) diff --git a/e2e/router/app/second/second.component.ts b/e2e/router/app/second/second.component.ts index 08347f286..be9baae96 100644 --- a/e2e/router/app/second/second.component.ts +++ b/e2e/router/app/second/second.component.ts @@ -17,7 +17,7 @@ import { map } from "rxjs/operators"; - + diff --git a/e2e/router/e2e/router.e2e-spec.ts b/e2e/router/e2e/router.e2e-spec.ts index 97de5f18a..147d9f948 100644 --- a/e2e/router/e2e/router.e2e-spec.ts +++ b/e2e/router/e2e/router.e2e-spec.ts @@ -50,7 +50,7 @@ describe("Navigate inside nested outlet", () => { }); it("should navigate to Second(1)/detail(1) and back", async () => { - const detailBtn = await driver.findElementByText("DETAIL 1", SearchOptions.exact); + const detailBtn = await driver.findElementByAutomationText("DETAIL 1"); detailBtn.click(); await assureSecondComponent(driver, 1) await assureNestedDetailComponent(driver, 1); @@ -61,7 +61,7 @@ describe("Navigate inside nested outlet", () => { }); it("should navigate to Second(1)/detail(2) and back", async () => { - const detailBtn = await driver.findElementByText("DETAIL 2", SearchOptions.exact); + const detailBtn = await driver.findElementByAutomationText("DETAIL 2"); detailBtn.click(); await assureSecondComponent(driver, 1) await assureNestedDetailComponent(driver, 2); @@ -98,7 +98,7 @@ describe("Navigate to same component with different param", () => { it("should navigate to Second(2)/master", async () => { const navigationButton = - await driver.findElementByText("GO TO NEXT SECOND", SearchOptions.exact); + await driver.findElementByAutomationText("GO TO NEXT SECOND"); navigationButton.click(); await assureSecondComponent(driver, 2) @@ -138,7 +138,7 @@ describe("Nested navigation + page navigation", () => { }); it("should navigate to Second(1)/detail(1)", async () => { - const detailBtn = await driver.findElementByText("DETAIL 1", SearchOptions.exact); + const detailBtn = await driver.findElementByAutomationText("DETAIL 1"); detailBtn.click(); await assureSecondComponent(driver, 1) @@ -147,7 +147,7 @@ describe("Nested navigation + page navigation", () => { it("should navigate to Second(2)/master", async () => { const navigationButton = - await driver.findElementByText("GO TO NEXT SECOND", SearchOptions.exact); + await driver.findElementByAutomationText("GO TO NEXT SECOND"); navigationButton.click(); await assureSecondComponent(driver, 2) @@ -155,7 +155,7 @@ describe("Nested navigation + page navigation", () => { }); it("should navigate to Second(2)/detail(2)", async () => { - const detailBtn = await driver.findElementByText("DETAIL 2", SearchOptions.exact); + const detailBtn = await driver.findElementByAutomationText("DETAIL 2"); detailBtn.click(); await assureSecondComponent(driver, 2) @@ -216,7 +216,7 @@ describe("Nested name navigation + page navigation", () => { it("should navigate to nested named Master Detail/1", async () => { const navigationButton = - await driver.findElementByText("DETAIL-NAMED 1", SearchOptions.exact); + await driver.findElementByAutomationText("DETAIL-NAMED 1"); navigationButton.click(); await assureNamedNestedDetailComponent(driver, 1); @@ -224,13 +224,13 @@ describe("Nested name navigation + page navigation", () => { it("should navigate back to Master and navigate to Detail/2", async () => { let navigationButton = - await driver.findElementByText("BACK-NESTED", SearchOptions.exact); + await driver.findElementByAutomationText("BACK-NESTED"); navigationButton.click(); await assureNamedNestedMasterComponent(driver); navigationButton = - await driver.findElementByText("DETAIL-NAMED 2", SearchOptions.exact); + await driver.findElementByAutomationText("DETAIL-NAMED 2"); navigationButton.click(); await assureNamedNestedDetailComponent(driver, 2); @@ -251,7 +251,7 @@ describe("Shouldn't be able to navigate back on startup", () => { it("shouldn't be able to go back", async () => { await goBack(driver); - await driver.findElementByText("canGoBack() - false", SearchOptions.exact); + await driver.findElementByAutomationText("canGoBack() - false"); }); }); @@ -282,7 +282,7 @@ describe("Shouldn't be able to navigate back after cleared history", () => { it("shouldn't be able to go back", async () => { await goBack(driver); - await driver.findElementByText("canGoBack() - false", SearchOptions.exact); + await driver.findElementByAutomationText("canGoBack() - false"); }); }); @@ -300,7 +300,7 @@ describe("Navigate to componentless route", () => { it("should navigate to ComponentlessSecond(100)/detail(200)", async () => { const navigationButton = - await driver.findElementByText("GO TO C-LESS SECOND", SearchOptions.exact); + await driver.findElementByAutomationText("GO TO C-LESS SECOND"); navigationButton.click(); await assureSecondComponent(driver, 100) @@ -407,49 +407,47 @@ describe("Navigate to componentless lazy module route", () => { }); async function assureFirstComponent(driver: AppiumDriver) { - await driver.findElementByText("FirstComponent", SearchOptions.exact); + await driver.findElementByAutomationText("FirstComponent"); } async function assureLazyComponent(driver: AppiumDriver) { - await driver.findElementByText("LazyComponent", SearchOptions.exact); + await driver.findElementByAutomationText("LazyComponent"); } async function assureComponentlessLazyComponent(driver: AppiumDriver) { - await driver.findElementByText("Lazy Componentless Route", SearchOptions.exact); + await driver.findElementByAutomationText("Lazy Componentless Route"); } async function assureNamedNestedMasterComponent(driver: AppiumDriver) { - await driver.findElementByText("NamedNestedMaster", SearchOptions.exact); + await driver.findElementByAutomationText("NamedNestedMaster"); } async function assureNamedNestedDetailComponent(driver: AppiumDriver, param: number) { - await driver.findElementByText("NamedNestedDetail", SearchOptions.exact); - await driver.findElementByText(`nested-named-param: ${param}`, SearchOptions.exact); + await driver.findElementByAutomationText("NamedNestedDetail"); + await driver.findElementByAutomationText(`nested-named-param: ${param}`); } async function assureSecondComponent(driver: AppiumDriver, param: number) { - await driver.findElementByText("SecondComponent", SearchOptions.exact); - await driver.findElementByText(`param: ${param}`, SearchOptions.exact); + await driver.findElementByAutomationText("SecondComponent"); + await driver.findElementByAutomationText(`param: ${param}`); } async function assureNestedMasterComponent(driver: AppiumDriver) { - await driver.findElementByText("NestedMaster", SearchOptions.exact); + await driver.findElementByAutomationText("NestedMaster"); } async function assureNestedDetailComponent(driver: AppiumDriver, param: number) { - await driver.findElementByText("NestedDetail", SearchOptions.exact); - await driver.findElementByText(`nested-param: ${param}`, SearchOptions.exact); + await driver.findElementByAutomationText("NestedDetail"); + await driver.findElementByAutomationText(`nested-param: ${param}`); } async function goBack(driver: AppiumDriver) { - const backButton = await driver.findElementByText("BACK", SearchOptions.exact); + const backButton = await driver.waitForElement("BACK"); await backButton.click(); - //await driver.navBack(); } async function findAndClick(driver: AppiumDriver, text: string) { - const navigationButton = - await driver.findElementByText(text, SearchOptions.exact); - navigationButton.click(); + const navigationButton = await driver.waitForElement(text); + await navigationButton.click(); } \ No newline at end of file diff --git a/e2e/router/e2e/tsconfig.json b/e2e/router/e2e/tsconfig.json index 18b6c4302..43e3b7ee3 100644 --- a/e2e/router/e2e/tsconfig.json +++ b/e2e/router/e2e/tsconfig.json @@ -5,6 +5,7 @@ "experimentalDecorators": true, "emitDecoratorMetadata": true, "importHelpers": false, + "sourceMap": true, "types": [ "node", "mocha", diff --git a/e2e/router/tsconfig.json b/e2e/router/tsconfig.json index f89ae0f58..a4ddb2d04 100644 --- a/e2e/router/tsconfig.json +++ b/e2e/router/tsconfig.json @@ -16,6 +16,9 @@ "*": [ "./node_modules/tns-core-modules/*", "./node_modules/*" + ], + "~/*": [ + "app/*" ] } }, @@ -24,4 +27,4 @@ "platforms", "e2e" ] -} +} \ No newline at end of file diff --git a/e2e/single-page/e2e/tests.e2e-spec.ts b/e2e/single-page/e2e/tests.e2e-spec.ts index 275c216bf..54dc65bc1 100644 --- a/e2e/single-page/e2e/tests.e2e-spec.ts +++ b/e2e/single-page/e2e/tests.e2e-spec.ts @@ -1,8 +1,6 @@ import { AppiumDriver, - UIElement, createDriver, - SearchOptions, } from "nativescript-dev-appium"; describe("Single page app", () => { @@ -10,45 +8,40 @@ describe("Single page app", () => { before(async () => { driver = await createDriver(); - await driver.resetApp(); }); it("should load first page", async () => { - await driver.findElementByText("First Component", SearchOptions.exact); + await driver.findElementByAutomationText("First Component"); // ActionBar Title and item - await driver.findElementByText("First Title", SearchOptions.exact); - await driver.findElementByText("ACTION1", SearchOptions.exact); + await driver.findElementByAutomationText("First Title"); + await driver.findElementByAutomationText("ACTION1"); }); it("should load second(1) page", async () => { await findAndClick(driver, "SECOND(1)") - await driver.findElementByText("Second Component: 1", SearchOptions.exact); + await driver.findElementByAutomationText("Second Component: 1"); // ActionBar Title and item - await driver.findElementByText("Second Title", SearchOptions.exact); - await driver.findElementByText("ACTION2", SearchOptions.exact); + await driver.findElementByAutomationText("Second Title"); + await driver.findElementByAutomationText("ACTION2"); }); it("should load second(2) page", async () => { await findAndClick(driver, "SECOND(2)") - await driver.findElementByText("Second Component: 1", SearchOptions.exact); + await driver.findElementByAutomationText("Second Component: 1"); // ActionBar Title and items - await driver.findElementByText("Second Title", SearchOptions.exact); - await driver.findElementByText("ACTION2", SearchOptions.exact); - await driver.findElementByText("ADD", SearchOptions.exact); + await driver.findElementByAutomationText("Second Title"); + await driver.findElementByAutomationText("ACTION2"); + await driver.findElementByAutomationText("ADD"); }); }); -async function assureFirstComponent(driver: AppiumDriver) { - await driver.findElementByText("First Component", SearchOptions.exact); -} - async function findAndClick(driver: AppiumDriver, text: string) { const navigationButton = - await driver.findElementByText(text, SearchOptions.exact); + await driver.findElementByAutomationText(text); navigationButton.click(); } \ No newline at end of file