diff --git a/demo/.gitignore b/demo/.gitignore index dcdcde1a..ee19ca4e 100644 --- a/demo/.gitignore +++ b/demo/.gitignore @@ -16,4 +16,5 @@ tsconfig.aot.json vendor.js vendor.ts -tsconfig.esm.json \ No newline at end of file +tsconfig.esm.json +mochawesome-report \ No newline at end of file diff --git a/demo/AngularApp/.vscode/launch.json b/demo/AngularApp/.vscode/launch.json index c8276a2a..4c86d32e 100644 --- a/demo/AngularApp/.vscode/launch.json +++ b/demo/AngularApp/.vscode/launch.json @@ -16,11 +16,8 @@ "999999", "--colors", "--opts", - "./e2e/config/mocha.opts", - "--runType", - "android23", - "--reuseDevice" - // "${workspaceFolder}/test" + "../config/mocha.opts", + "android" ], "internalConsoleOptions": "openOnSessionStart" }, diff --git a/demo/AngularApp/e2e/tests.e2e-spec.ts b/demo/AngularApp/e2e/tests.e2e-spec.ts index 47e67d10..aa8c75be 100644 --- a/demo/AngularApp/e2e/tests.e2e-spec.ts +++ b/demo/AngularApp/e2e/tests.e2e-spec.ts @@ -1,29 +1,14 @@ -import { AppiumDriver, createDriver, SearchOptions } from "nativescript-dev-appium"; +import { AppiumDriver, createDriver, nsCapabilities } from "nativescript-dev-appium"; import { assert } from "chai"; describe("sample scenario", async function () { let driver: AppiumDriver; before(async function () { + nsCapabilities.testReporter.context = this; driver = await createDriver(); }); - beforeEach(async function () { - try { - const items = await getItems(); - } catch (err) { - try { - const lblNinjas = await driver.findElementByText("Ninjas!"); - } - catch (err) { - console.log("Navigating to ninjas page ..."); - await driver.navBack(); - } - console.log("Navigating to main page ..."); - await driver.navBack(); - } - }); - afterEach(async function () { if (this.currentTest.state === "failed") { await driver.logTestArtifacts(this.currentTest.title); @@ -36,7 +21,7 @@ describe("sample scenario", async function () { }); it("should navigate to a ninja", async function () { - const btnNinjas = await driver.findElementByText("Ninjas"); + const btnNinjas = await driver.waitForElement("Ninjas"); await btnNinjas.click(); const itemMichaelangelo = await driver.findElementByText("Michaelangelo"); @@ -61,10 +46,10 @@ describe("sample scenario", async function () { for (let styleType in styleTypes) { it(`should find an element with ${styleType} style applied`, async function () { const element = await driver.findElementByText(styleTypes[styleType]); + driver.imageHelper.options.keepOriginalImageSize = false; + driver.imageHelper.options.isDeviceSpecific = false; const result = await driver.compareElement(element, "style"); assert.isTrue(result); }); } - - const getItems = async function () { return driver.isAndroid ? await driver.findElementsByText("(Android)") : await driver.findElementsByText("(ios)"); } }); diff --git a/demo/AngularApp/e2e/tsconfig.json b/demo/AngularApp/e2e/tsconfig.json index abb4a3a7..74d502ac 100644 --- a/demo/AngularApp/e2e/tsconfig.json +++ b/demo/AngularApp/e2e/tsconfig.json @@ -5,6 +5,7 @@ "experimentalDecorators": true, "emitDecoratorMetadata": true, "importHelpers": false, + "sourceMap": true, "types": [ "mocha", "chai", diff --git a/demo/JavaScriptApp/e2e/config/appium.capabilities.json b/demo/JavaScriptApp/e2e/config/appium.capabilities.json deleted file mode 100644 index b4c9be76..00000000 --- a/demo/JavaScriptApp/e2e/config/appium.capabilities.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "android19": { - "platformName": "Android", - "platformVersion": "4.4", - "deviceName": "Emulator-Api19-Default", - "avd": "Emulator-Api19-Default", - "lt": 60000, - "newCommandTimeout": 720, - "noReset": false, - "fullReset": false, - "app": "" - }, - "android21": { - "platformName": "Android", - "platformVersion": "5.0", - "deviceName": "Emulator-Api21-Default", - "avd": "Emulator-Api21-Default", - "lt": 60000, - "newCommandTimeout": 720, - "noReset": false, - "fullReset": false, - "app": "" - }, - "android23": { - "platformName": "Android", - "platformVersion": "6.0", - "deviceName": "Emulator-Api23-Default", - "avd": "Emulator-Api23-Default", - "lt": 60000, - "newCommandTimeout": 720, - "noReset": false, - "fullReset": false, - "app": "" - }, - "android24": { - "platformName": "Android", - "platformVersion": "7.0", - "deviceName": "Emulator-Api24-Default", - "avd": "Emulator-Api24-Default", - "lt": 60000, - "newCommandTimeout": 720, - "noReset": false, - "fullReset": false, - "app": "" - }, - "android25": { - "platformName": "Android", - "platformVersion": "7.1", - "deviceName": "Emulator-Api25-Google", - "avd": "Emulator-Api25-Google", - "lt": 60000, - "newCommandTimeout": 720, - "noReset": false, - "fullReset": false, - "app": "" - }, - "android26": { - "platformName": "Android", - "platformVersion": "8.0", - "deviceName": "Emulator-Api26-Google", - "avd": "Emulator-Api26-Google", - "lt": 60000, - "newCommandTimeout": 720, - "noReset": false, - "fullReset": false, - "app": "" - }, - "android27": { - "platformName": "Android", - "platformVersion": "27", - "deviceName": "Emulator-Api27-Google", - "avd": "Emulator-Api27-Google", - "lt": 60000, - "newCommandTimeout": 720, - "noReset": false, - "fullReset": false, - "app": "" - }, - "android28": { - "platformName": "Android", - "platformVersion": "28", - "deviceName": "Emulator-Api28-Google", - "avd": "Emulator-Api28-Google", - "lt": 60000, - "newCommandTimeout": 720, - "noReset": false, - "fullReset": false, - "app": "" - }, - "sim.iPhone7": { - "platformName": "iOS", - "platformVersion": "/12.*/", - "deviceName": "iPhone 7", - "noReset": false, - "fullReset": false, - "app": "" - }, - "sim.iPhone8": { - "platformName": "iOS", - "platformVersion": "/12*/", - "deviceName": "iPhone 8", - "noReset": false, - "fullReset": false, - "app": "" - }, - "sim.iPhoneX": { - "platformName": "iOS", - "platformVersion": "/12*/", - "deviceName": "iPhone X", - "noReset": false, - "fullReset": false, - "app": "" - }, - "sim.iPhoneXS": { - "platformName": "ios", - "platformVersion": "/12*/", - "deviceName": "iPhone XS", - "noReset": false, - "fullReset": false, - "app": "" - } -} \ No newline at end of file diff --git a/demo/JavaScriptApp/e2e/tests.e2e-spec.js b/demo/JavaScriptApp/e2e/tests.e2e-spec.js index bd889360..43ea4512 100644 --- a/demo/JavaScriptApp/e2e/tests.e2e-spec.js +++ b/demo/JavaScriptApp/e2e/tests.e2e-spec.js @@ -9,16 +9,6 @@ describe("sample scenario", function () { driver = await nsAppium.createDriver(); })); - beforeEach(async function () { - try { - const lblPlatform = await getPlatformLabel(); - } - catch (err) { - console.log("Navigating to main page ..."); - await driver.navBack(); - } - }); - afterEach(async function () { if (this.currentTest.state === "failed") { await driver.logTestArtifacts(this.currentTest.title); @@ -53,12 +43,10 @@ describe("sample scenario", function () { it(`should find an element with ${styleType} style applied`, async function () { const element = await driver.findElementByText(styleTypes[styleType]); + driver.imageHelper.options.keepOriginalImageSize = false; + driver.imageHelper.options.isDeviceSpecific = false; const result = await driver.compareElement(element, "style"); - chai.assert.isTrue(result); + assert.isTrue(result); }); } - - const getPlatformLabel = async function() { - return driver.isAndroid ? await driver.findElementByText("android") : await driver.findElementByText("ios"); - } }); \ No newline at end of file diff --git a/demo/TypeScriptApp/.vscode/launch.json b/demo/TypeScriptApp/.vscode/launch.json index f0519850..60b22ed9 100644 --- a/demo/TypeScriptApp/.vscode/launch.json +++ b/demo/TypeScriptApp/.vscode/launch.json @@ -17,10 +17,7 @@ "--colors", "--opts", "./e2e/config/mocha.opts", - "--runType", - "android23", - "--reuseDevice" - // "${workspaceFolder}/test" + "-a" ], "internalConsoleOptions": "openOnSessionStart" }, diff --git a/demo/TypeScriptApp/e2e/config/appium.capabilities.json b/demo/TypeScriptApp/e2e/config/appium.capabilities.json deleted file mode 100644 index 3cd2bab2..00000000 --- a/demo/TypeScriptApp/e2e/config/appium.capabilities.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "android19": { - "platformName": "Android", - "platformVersion": "4.4", - "deviceName": "Emulator-Api19-Default", - "avd": "Emulator-Api19-Default", - "lt": 60000, - "appActivity": "com.tns.NativeScriptActivity", - "newCommandTimeout": 720, - "noReset": true, - "fullReset": false, - "app": "" - }, - "android21": { - "platformName": "Android", - "platformVersion": "5.0", - "deviceName": "Emulator-Api21-Default", - "avd": "Emulator-Api21-Default", - "lt": 60000, - "appActivity": "com.tns.NativeScriptActivity", - "newCommandTimeout": 720, - "noReset": true, - "fullReset": false, - "app": "" - }, - "android23": { - "platformName": "Android", - "platformVersion": "6.0", - "deviceName": "Emulator-Api23-Default", - "avd": "Emulator-Api23-Default", - "lt": 60000, - "appActivity": "com.tns.NativeScriptActivity", - "newCommandTimeout": 720, - "noReset": true, - "fullReset": false, - "app": "" - }, - "android24": { - "platformName": "Android", - "platformVersion": "7.0", - "deviceName": "Emulator-Api24-Default", - "avd": "Emulator-Api24-Default", - "lt": 60000, - "appActivity": "com.tns.NativeScriptActivity", - "newCommandTimeout": 720, - "noReset": true, - "fullReset": false, - "app": "" - }, - "android25": { - "platformName": "Android", - "platformVersion": "7.1", - "deviceName": "Emulator-Api25-Google", - "avd": "Emulator-Api25-Google", - "lt": 60000, - "appActivity": "com.tns.NativeScriptActivity", - "newCommandTimeout": 720, - "noReset": true, - "fullReset": false, - "app": "" - }, - "android26": { - "platformName": "Android", - "platformVersion": "8.0", - "deviceName": "Emulator-Api26-Google", - "avd": "Emulator-Api26-Google", - "lt": 60000, - "appActivity": "com.tns.NativeScriptActivity", - "newCommandTimeout": 720, - "noReset": true, - "fullReset": false, - "app": "" - }, - "sim.iPhone7.iOS100": { - "platformName": "iOS", - "platformVersion": "10.0", - "deviceName": "iPhone 7 100", - "noReset": true, - "fullReset": false, - "app": "" - }, - "sim.iPhone8.iOS110": { - "platformName": "iOS", - "platformVersion": "11.2", - "deviceName": "iPhone 8 110", - "noReset": true, - "fullReset": false, - "app": "" - }, - "sim.iPhoneX.iOS110": { - "platformName": "iOS", - "platformVersion": "11.2", - "deviceName": "iPhone X", - "noReset": true, - "fullReset": false, - "app": "" - }, - "sim.iPhoneX.iOS111": { - "platformName": "iOS", - "platformVersion": "11.1", - "deviceName": "iPhone X", - "noReset": true, - "fullReset": false, - "app": "" - } -} diff --git a/demo/TypeScriptApp/e2e/config/mocha.opts b/demo/TypeScriptApp/e2e/config/mocha.opts deleted file mode 100644 index c21dcca6..00000000 --- a/demo/TypeScriptApp/e2e/config/mocha.opts +++ /dev/null @@ -1,5 +0,0 @@ ---timeout 999999 ---recursive e2e ---reporter mochawesome ---reporter-options quiet=true,html=true,inline=true,autoOpen=true ---exit \ No newline at end of file diff --git a/demo/TypeScriptApp/e2e/tests.e2e-spec.ts b/demo/TypeScriptApp/e2e/tests.e2e-spec.ts index 37920f3c..3f549eff 100644 --- a/demo/TypeScriptApp/e2e/tests.e2e-spec.ts +++ b/demo/TypeScriptApp/e2e/tests.e2e-spec.ts @@ -9,19 +9,9 @@ describe("sample scenario", () => { driver = await createDriver(); }); - beforeEach(async function () { - try { - const lblPlatform = await getPlatformLabel(); - } catch (err) { - console.log("Navigating to main page ..."); - await driver.navBack(); - } - }); - afterEach(async function () { if (this.currentTest.state === "failed") { - await driver.logPageSource(this.currentTest.title); - await driver.logScreenshot(this.currentTest.title); + await driver.logTestArtifacts(this.currentTest.title); } }); @@ -33,7 +23,6 @@ describe("sample scenario", () => { it("should the button on second page work", async function () { const btnNav = await driver.findElementByText("btnNav"); await btnNav.tap(); - const secondPage = await driver.findElementByText("Second Page"); const btnZero = await driver.findElementByText("0"); await btnZero.tap(); @@ -64,10 +53,10 @@ describe("sample scenario", () => { for (let styleType in styleTypes) { it(`should find an element with ${styleType} style applied`, async function () { const element = await driver.findElementByText(styleTypes[styleType]); + driver.imageHelper.options.keepOriginalImageSize = false; + driver.imageHelper.options.isDeviceSpecific = false; const result = await driver.compareElement(element, "style"); assert.isTrue(result); }); } - - const getPlatformLabel = async function () { return driver.isAndroid ? await driver.findElementByText("android") : await driver.findElementByText("ios"); } }); \ No newline at end of file diff --git a/demo/config/mocha.opts b/demo/config/mocha.opts index 8e77e681..c21dcca6 100644 --- a/demo/config/mocha.opts +++ b/demo/config/mocha.opts @@ -1,4 +1,4 @@ ---timeout 80000 +--timeout 999999 --recursive e2e --reporter mochawesome --reporter-options quiet=true,html=true,inline=true,autoOpen=true