Skip to content
This repository was archived by the owner on Aug 7, 2021. It is now read-only.

Commit 300de7d

Browse files
tests: use mochawesome reporter (#881)
* tests: use mochawesome reporter
1 parent 68bf3c5 commit 300de7d

17 files changed

+211
-182
lines changed

demo/AngularApp/.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ e2e/reports/
99
test-results.xml
1010

1111
app/item/items.component.android.css
12-
app/item/items.component.ios.css
12+
app/item/items.component.ios.css
13+
mochawesome-report

demo/AngularApp/app/activity.android.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {setActivityCallbacks, AndroidActivityCallbacks} from "ui/frame";
1+
import {setActivityCallbacks, AndroidActivityCallbacks} from "tns-core-modules/ui/frame";
22

33
@JavaProxy("org.myApp.MainActivity")
44
class Activity extends android.support.v7.app.AppCompatActivity {

demo/AngularApp/e2e/setup.ts

+12-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
1-
import { startServer, stopServer } from "nativescript-dev-appium";
1+
import { startServer, stopServer, ITestReporter, nsCapabilities, LogImageType } from "nativescript-dev-appium";
2+
const addContext = require('mochawesome/addContext');
23

3-
before("start server", async () => {
4+
const testReporterContext = <ITestReporter>{};
5+
testReporterContext.name = "mochawesome";
6+
testReporterContext.reportDir = "mochawesome-report";
7+
testReporterContext.log = addContext;
8+
testReporterContext.logImageTypes = [LogImageType.screenshots];
9+
nsCapabilities.testReporter = testReporterContext;
10+
11+
before("start server", async function () {
12+
nsCapabilities.testReporter.context = this;
413
await startServer();
514
});
615

7-
after("stop server", async () => {
16+
after("stop server", async function () {
817
await stopServer();
918
});

demo/AngularApp/e2e/tests.e2e-spec.ts

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { AppiumDriver, createDriver, SearchOptions } from "nativescript-dev-appium";
22
import { assert } from "chai";
33

4-
describe("sample scenario", () => {
4+
describe("sample scenario", async function () {
55
let driver: AppiumDriver;
66

7-
before(async () => {
7+
before(async function () {
88
driver = await createDriver();
99
});
1010

@@ -26,17 +26,16 @@ describe("sample scenario", () => {
2626

2727
afterEach(async function () {
2828
if (this.currentTest.state === "failed") {
29-
await driver.logPageSource(this.currentTest.title);
30-
await driver.logScreenshot(this.currentTest.title);
29+
await driver.logTestArtifacts(this.currentTest.title);
3130
}
3231
});
3332

34-
after(async () => {
33+
after(async function () {
3534
await driver.quit();
3635
console.log("Quit driver!");
3736
});
3837

39-
it("should navigate to a ninja", async () => {
38+
it("should navigate to a ninja", async function () {
4039
const btnNinjas = await driver.findElementByText("Ninjas");
4140
await btnNinjas.click();
4241

@@ -67,5 +66,5 @@ describe("sample scenario", () => {
6766
});
6867
}
6968

70-
const getItems = async () => { return driver.isAndroid ? await driver.findElementsByText("(Android)") : await driver.findElementsByText("(ios)"); }
69+
const getItems = async function () { return driver.isAndroid ? await driver.findElementsByText("(Android)") : await driver.findElementsByText("(ios)"); }
7170
});

demo/AngularApp/e2e/tsconfig.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
"experimentalDecorators": true,
66
"emitDecoratorMetadata": true,
77
"importHelpers": false,
8-
"sourceMap": true,
98
"types": [
10-
"node",
119
"mocha",
12-
"chai"
10+
"chai",
11+
"node"
1312
],
1413
"lib": [
1514
"es2015",
1615
"dom"
17-
]
16+
],
17+
"baseUrl": "."
1818
}
1919
}

demo/AngularApp/package.json

+15-17
Original file line numberDiff line numberDiff line change
@@ -13,36 +13,34 @@
1313
}
1414
},
1515
"dependencies": {
16-
"@angular/common": "~7.1.0",
17-
"@angular/compiler": "~7.1.0",
18-
"@angular/core": "~7.1.0",
19-
"@angular/forms": "~7.1.0",
20-
"@angular/http": "~7.1.0",
21-
"@angular/platform-browser": "~7.1.0",
22-
"@angular/platform-browser-dynamic": "~7.1.0",
23-
"@angular/router": "~7.1.0",
16+
"@angular/common": "~7.2.0",
17+
"@angular/compiler": "~7.2.0",
18+
"@angular/core": "~7.2.0",
19+
"@angular/forms": "~7.2.0",
20+
"@angular/http": "~7.2.0",
21+
"@angular/platform-browser": "~7.2.0",
22+
"@angular/platform-browser-dynamic": "~7.2.0",
23+
"@angular/router": "~7.2.0",
2424
"nativescript-angular": "next",
2525
"nativescript-theme-core": "~1.0.2",
2626
"reflect-metadata": "~0.1.8",
27-
"rxjs": "~6.3.3",
27+
"rxjs": "^6.3.3",
2828
"tns-core-modules": "next",
29-
"zone.js": "~0.8.26"
29+
"zone.js": "^0.8.4"
3030
},
3131
"devDependencies": {
32-
"@angular/compiler-cli": "~7.1.0",
33-
"@ngtools/webpack": "~7.1.2",
32+
"@angular/compiler-cli": "~7.2.0",
33+
"@ngtools/webpack": "~7.2.0",
3434
"@types/chai": "~4.1.7",
3535
"@types/mocha": "~5.2.5",
36-
"@types/node": "~10.12.12",
36+
"@types/node": "~10.12.18",
3737
"babel-traverse": "6.26.0",
3838
"babel-types": "6.26.0",
3939
"babylon": "6.18.0",
40-
"chai": "~4.1.1",
4140
"chai-as-promised": "~7.1.1",
4241
"lazy": "1.0.11",
4342
"mocha": "~5.2.0",
44-
"mocha-junit-reporter": "~1.18.0",
45-
"mocha-multi": "~1.0.1",
43+
"mochawesome": "~3.1.2",
4644
"nativescript-dev-appium": "next",
4745
"nativescript-dev-sass": "next",
4846
"nativescript-dev-typescript": "next",
@@ -54,4 +52,4 @@
5452
"e2e": "tsc -p e2e && mocha --opts ../config/mocha.opts --recursive e2e --appiumCapsLocation ../config/appium.capabilities.json",
5553
"compile-tests": "tsc -p e2e --watch"
5654
}
57-
}
55+
}

demo/JavaScriptApp/.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
app/main-page.android.css
2-
app/main-page.ios.css
2+
app/main-page.ios.css
3+
mochawesome-report

demo/JavaScriptApp/e2e/config/appium.capabilities.json

+45-29
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55
"deviceName": "Emulator-Api19-Default",
66
"avd": "Emulator-Api19-Default",
77
"lt": 60000,
8-
"appActivity": "com.tns.NativeScriptActivity",
98
"newCommandTimeout": 720,
10-
"noReset": true,
9+
"noReset": false,
1110
"fullReset": false,
1211
"app": ""
1312
},
@@ -17,9 +16,8 @@
1716
"deviceName": "Emulator-Api21-Default",
1817
"avd": "Emulator-Api21-Default",
1918
"lt": 60000,
20-
"appActivity": "com.tns.NativeScriptActivity",
2119
"newCommandTimeout": 720,
22-
"noReset": true,
20+
"noReset": false,
2321
"fullReset": false,
2422
"app": ""
2523
},
@@ -29,9 +27,8 @@
2927
"deviceName": "Emulator-Api23-Default",
3028
"avd": "Emulator-Api23-Default",
3129
"lt": 60000,
32-
"appActivity": "com.tns.NativeScriptActivity",
3330
"newCommandTimeout": 720,
34-
"noReset": true,
31+
"noReset": false,
3532
"fullReset": false,
3633
"app": ""
3734
},
@@ -41,9 +38,8 @@
4138
"deviceName": "Emulator-Api24-Default",
4239
"avd": "Emulator-Api24-Default",
4340
"lt": 60000,
44-
"appActivity": "com.tns.NativeScriptActivity",
4541
"newCommandTimeout": 720,
46-
"noReset": true,
42+
"noReset": false,
4743
"fullReset": false,
4844
"app": ""
4945
},
@@ -53,9 +49,8 @@
5349
"deviceName": "Emulator-Api25-Google",
5450
"avd": "Emulator-Api25-Google",
5551
"lt": 60000,
56-
"appActivity": "com.tns.NativeScriptActivity",
5752
"newCommandTimeout": 720,
58-
"noReset": true,
53+
"noReset": false,
5954
"fullReset": false,
6055
"app": ""
6156
},
@@ -65,42 +60,63 @@
6560
"deviceName": "Emulator-Api26-Google",
6661
"avd": "Emulator-Api26-Google",
6762
"lt": 60000,
68-
"appActivity": "com.tns.NativeScriptActivity",
6963
"newCommandTimeout": 720,
70-
"noReset": true,
64+
"noReset": false,
7165
"fullReset": false,
7266
"app": ""
7367
},
74-
"sim.iPhone7.iOS100": {
75-
"platformName": "iOS",
76-
"platformVersion": "10.0",
77-
"deviceName": "iPhone 7 100",
78-
"noReset": true,
68+
"android27": {
69+
"platformName": "Android",
70+
"platformVersion": "27",
71+
"deviceName": "Emulator-Api27-Google",
72+
"avd": "Emulator-Api27-Google",
73+
"lt": 60000,
74+
"newCommandTimeout": 720,
75+
"noReset": false,
76+
"fullReset": false,
77+
"app": ""
78+
},
79+
"android28": {
80+
"platformName": "Android",
81+
"platformVersion": "28",
82+
"deviceName": "Emulator-Api28-Google",
83+
"avd": "Emulator-Api28-Google",
84+
"lt": 60000,
85+
"newCommandTimeout": 720,
86+
"noReset": false,
7987
"fullReset": false,
8088
"app": ""
8189
},
82-
"sim.iPhone8.iOS110": {
90+
"sim.iPhone7": {
8391
"platformName": "iOS",
84-
"platformVersion": "11.2",
85-
"deviceName": "iPhone 8 110",
86-
"noReset": true,
92+
"platformVersion": "/12.*/",
93+
"deviceName": "iPhone 7",
94+
"noReset": false,
8795
"fullReset": false,
8896
"app": ""
8997
},
90-
"sim.iPhoneX.iOS110": {
98+
"sim.iPhone8": {
9199
"platformName": "iOS",
92-
"platformVersion": "11.2",
93-
"deviceName": "iPhone X",
94-
"noReset": true,
100+
"platformVersion": "/12*/",
101+
"deviceName": "iPhone 8",
102+
"noReset": false,
95103
"fullReset": false,
96104
"app": ""
97105
},
98-
"sim.iPhoneX.iOS111": {
106+
"sim.iPhoneX": {
99107
"platformName": "iOS",
100-
"platformVersion": "11.1",
108+
"platformVersion": "/12*/",
101109
"deviceName": "iPhone X",
102-
"noReset": true,
110+
"noReset": false,
111+
"fullReset": false,
112+
"app": ""
113+
},
114+
"sim.iPhoneXS": {
115+
"platformName": "ios",
116+
"platformVersion": "/12*/",
117+
"deviceName": "iPhone XS",
118+
"noReset": false,
103119
"fullReset": false,
104120
"app": ""
105121
}
106-
}
122+
}

demo/JavaScriptApp/e2e/setup.js

+19-18
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
"use strict";
2-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3-
return new (P || (P = Promise))(function (resolve, reject) {
4-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7-
step((generator = generator.apply(thisArg, _arguments || [])).next());
8-
});
9-
};
10-
Object.defineProperty(exports, "__esModule", { value: true });
11-
const nativescript_dev_appium_1 = require("nativescript-dev-appium");
12-
before("start server", () => __awaiter(this, void 0, void 0, function* () {
13-
yield nativescript_dev_appium_1.startServer();
14-
}));
15-
after("stop server", () => __awaiter(this, void 0, void 0, function* () {
16-
yield nativescript_dev_appium_1.stopServer();
17-
}));
18-
//# sourceMappingURL=setup.js.map
1+
const nsAppium = require("nativescript-dev-appium");
2+
const addContext = require('mochawesome/addContext');
3+
4+
const testReporterContext = {};
5+
testReporterContext.name = "mochawesome";
6+
testReporterContext.reportDir = "mochawesome-report";
7+
testReporterContext.log = addContext;
8+
testReporterContext.logImageTypes = [nsAppium.LogImageType.screenshots];
9+
nsAppium.nsCapabilities.testReporter = testReporterContext;
10+
11+
before("start server", async function () {
12+
nsAppium.nsCapabilities.testReporter.context = this;
13+
await nsAppium.startServer();
14+
});
15+
16+
after("stop appium server", async function () {
17+
nsAppium.nsCapabilities.testReporter.context = this;
18+
await nsAppium.stopServer();
19+
});

0 commit comments

Comments
 (0)