@fluentui-react-native/tester 0.80.0 → 0.81.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +16 -1
- package/CHANGELOG.md +10 -2
- package/lib/E2E/common/BasePage.macos.d.ts.map +1 -1
- package/lib/E2E/common/BasePage.macos.js +4 -8
- package/lib/E2E/common/BasePage.macos.js.map +1 -1
- package/lib-commonjs/E2E/common/BasePage.macos.d.ts.map +1 -1
- package/lib-commonjs/E2E/common/BasePage.macos.js +4 -8
- package/lib-commonjs/E2E/common/BasePage.macos.js.map +1 -1
- package/package.json +2 -2
- package/src/E2E/README.md +9 -7
- package/src/E2E/common/BasePage.macos.ts +4 -8
- package/wdio.conf.macos.js +19 -4
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
"name": "@fluentui-react-native/tester",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "Thu, 28 Jul 2022
|
|
5
|
+
"date": "Thu, 28 Jul 2022 22:52:33 GMT",
|
|
6
|
+
"tag": "@fluentui-react-native/tester_v0.81.0",
|
|
7
|
+
"version": "0.81.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "safreibe@microsoft.com",
|
|
12
|
+
"package": "@fluentui-react-native/tester",
|
|
13
|
+
"commit": "05c06b5106afe94f91989f2084c1a557f9bdf764",
|
|
14
|
+
"comment": "Add MacOS E2E Testing"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Thu, 28 Jul 2022 21:20:29 GMT",
|
|
6
21
|
"tag": "@fluentui-react-native/tester_v0.80.0",
|
|
7
22
|
"version": "0.80.0",
|
|
8
23
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/tester
|
|
2
2
|
|
|
3
|
-
This log was last generated on Thu, 28 Jul 2022
|
|
3
|
+
This log was last generated on Thu, 28 Jul 2022 22:52:33 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.81.0
|
|
8
|
+
|
|
9
|
+
Thu, 28 Jul 2022 22:52:33 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Add MacOS E2E Testing (safreibe@microsoft.com)
|
|
14
|
+
|
|
7
15
|
## 0.80.0
|
|
8
16
|
|
|
9
|
-
Thu, 28 Jul 2022 21:20:
|
|
17
|
+
Thu, 28 Jul 2022 21:20:29 GMT
|
|
10
18
|
|
|
11
19
|
### Minor changes
|
|
12
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePage.macos.d.ts","sourceRoot":"","sources":["../../../src/E2E/common/BasePage.macos.ts"],"names":[],"mappings":";AACA,eAAO,MAAM,4BAA4B;;;CAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"BasePage.macos.d.ts","sourceRoot":"","sources":["../../../src/E2E/common/BasePage.macos.ts"],"names":[],"mappings":";AACA,eAAO,MAAM,4BAA4B;;;CAAqB,CAAC;AAI/D,wBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAE1D;AAKD,0BAAkB,iBAAiB;IACjC,OAAO,IAAI;IACX,SAAS,IAAA;CACV;AAED;;;;;2GAK2G;AAE3G,qBAAa,QAAQ;IACnB,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oBAAoB,IAAI,MAAM;IAK9B,qBAAqB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,MAAM;IAanE,YAAY,IAAI,OAAO;IAKvB,cAAc,IAAI,OAAO;IAMzB,uBAAuB,IAAI,IAAI;IAK/B,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAc5C,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAc9C,8BAA8B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAetD,mBAAmB,IAAI,IAAI;IAM3B,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAatF,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAU3C,IAAI,SAAS,IAAI,WAAW,CAAC,OAAO,CAEnC;IAID,IAAI,iBAAiB,IAAI,WAAW,CAAC,OAAO,CAE3C;IAKD,IAAI,mBAAmB,IAAI,WAAW,CAAC,OAAO,CAE7C;IAID,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,CAErC;IAID,IAAI,SAAS,IAAI,MAAM,CAEtB;IAGD,kBAAkB,EAAE,MAAM,CAAS;CACpC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var DUMMY_CHAR = '';
|
|
2
2
|
export var COMPONENT_SCROLL_COORDINATES = { x: -0, y: -100 }; // These are the offsets. Y is negative because we want the touch to move up (and thus it scrolls down)
|
|
3
|
-
/* Mac-Specific Selector. We use this to get elements on the test page
|
|
3
|
+
/* Mac-Specific Selector. We use this to get elements on the test page.
|
|
4
|
+
* Specifically, this is the xpath selector. See https://v6.webdriver.io/docs/selectors.html#xpath */
|
|
4
5
|
export function By(identifier) {
|
|
5
6
|
return $('//*[@identifier="' + identifier + '"]');
|
|
6
7
|
}
|
|
@@ -43,10 +44,7 @@ var BasePage = /** @class */ (function () {
|
|
|
43
44
|
/* Scrolls until the desired test page's button is displayed. We use the scroll viewer UI element as the point to start scrolling.
|
|
44
45
|
* We use a negative number as the Y-coordinate because that enables us to scroll downwards */
|
|
45
46
|
BasePage.prototype.scrollToComponentButton = function () {
|
|
46
|
-
|
|
47
|
-
var scrollViewElement = $('~SCROLLVIEW_TEST_ID');
|
|
48
|
-
driver.touchScroll(COMPONENT_SCROLL_COORDINATES.x, COMPONENT_SCROLL_COORDINATES.y, scrollViewElement.elementId);
|
|
49
|
-
}
|
|
47
|
+
/* TODO: Implement (not needed yet) */
|
|
50
48
|
};
|
|
51
49
|
/* Waits for the test page to load. If the test page doesn't load before the timeout, it causes the test to fail. */
|
|
52
50
|
BasePage.prototype.waitForPageDisplayed = function (timeout) {
|
|
@@ -83,9 +81,7 @@ var BasePage = /** @class */ (function () {
|
|
|
83
81
|
};
|
|
84
82
|
/* Scrolls to the primary UI test element until it is displayed. It uses the ScrollView that encapsulates each test page. */
|
|
85
83
|
BasePage.prototype.scrollToTestElement = function () {
|
|
86
|
-
|
|
87
|
-
driver.touchScroll(COMPONENT_SCROLL_COORDINATES.x, COMPONENT_SCROLL_COORDINATES.y, $('~ScrollViewAreaForComponents').elementId);
|
|
88
|
-
}
|
|
84
|
+
/* TODO: Implement (not needed yet) */
|
|
89
85
|
};
|
|
90
86
|
/* A method that allows the caller to pass in a condition. A wrapper for waitUntil(). Once testing becomes more extensive,
|
|
91
87
|
* this will allow cleaner code within all the Page Objects. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePage.macos.js","sourceRoot":"","sources":["../../../src/E2E/common/BasePage.macos.ts"],"names":[],"mappings":"AAAA,IAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,CAAC,IAAM,4BAA4B,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,uGAAuG;AAEvK
|
|
1
|
+
{"version":3,"file":"BasePage.macos.js","sourceRoot":"","sources":["../../../src/E2E/common/BasePage.macos.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePage.macos.d.ts","sourceRoot":"","sources":["../../../src/E2E/common/BasePage.macos.ts"],"names":[],"mappings":";AACA,eAAO,MAAM,4BAA4B;;;CAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"BasePage.macos.d.ts","sourceRoot":"","sources":["../../../src/E2E/common/BasePage.macos.ts"],"names":[],"mappings":";AACA,eAAO,MAAM,4BAA4B;;;CAAqB,CAAC;AAI/D,wBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAE1D;AAKD,0BAAkB,iBAAiB;IACjC,OAAO,IAAI;IACX,SAAS,IAAA;CACV;AAED;;;;;2GAK2G;AAE3G,qBAAa,QAAQ;IACnB,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oBAAoB,IAAI,MAAM;IAK9B,qBAAqB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,MAAM;IAanE,YAAY,IAAI,OAAO;IAKvB,cAAc,IAAI,OAAO;IAMzB,uBAAuB,IAAI,IAAI;IAK/B,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAc5C,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAc9C,8BAA8B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAetD,mBAAmB,IAAI,IAAI;IAM3B,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAatF,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAU3C,IAAI,SAAS,IAAI,WAAW,CAAC,OAAO,CAEnC;IAID,IAAI,iBAAiB,IAAI,WAAW,CAAC,OAAO,CAE3C;IAKD,IAAI,mBAAmB,IAAI,WAAW,CAAC,OAAO,CAE7C;IAID,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,CAErC;IAID,IAAI,SAAS,IAAI,MAAM,CAEtB;IAGD,kBAAkB,EAAE,MAAM,CAAS;CACpC"}
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BasePage = exports.By = exports.COMPONENT_SCROLL_COORDINATES = void 0;
|
|
4
4
|
var DUMMY_CHAR = '';
|
|
5
5
|
exports.COMPONENT_SCROLL_COORDINATES = { x: -0, y: -100 }; // These are the offsets. Y is negative because we want the touch to move up (and thus it scrolls down)
|
|
6
|
-
/* Mac-Specific Selector. We use this to get elements on the test page
|
|
6
|
+
/* Mac-Specific Selector. We use this to get elements on the test page.
|
|
7
|
+
* Specifically, this is the xpath selector. See https://v6.webdriver.io/docs/selectors.html#xpath */
|
|
7
8
|
function By(identifier) {
|
|
8
9
|
return $('//*[@identifier="' + identifier + '"]');
|
|
9
10
|
}
|
|
@@ -47,10 +48,7 @@ var BasePage = /** @class */ (function () {
|
|
|
47
48
|
/* Scrolls until the desired test page's button is displayed. We use the scroll viewer UI element as the point to start scrolling.
|
|
48
49
|
* We use a negative number as the Y-coordinate because that enables us to scroll downwards */
|
|
49
50
|
BasePage.prototype.scrollToComponentButton = function () {
|
|
50
|
-
|
|
51
|
-
var scrollViewElement = $('~SCROLLVIEW_TEST_ID');
|
|
52
|
-
driver.touchScroll(exports.COMPONENT_SCROLL_COORDINATES.x, exports.COMPONENT_SCROLL_COORDINATES.y, scrollViewElement.elementId);
|
|
53
|
-
}
|
|
51
|
+
/* TODO: Implement (not needed yet) */
|
|
54
52
|
};
|
|
55
53
|
/* Waits for the test page to load. If the test page doesn't load before the timeout, it causes the test to fail. */
|
|
56
54
|
BasePage.prototype.waitForPageDisplayed = function (timeout) {
|
|
@@ -87,9 +85,7 @@ var BasePage = /** @class */ (function () {
|
|
|
87
85
|
};
|
|
88
86
|
/* Scrolls to the primary UI test element until it is displayed. It uses the ScrollView that encapsulates each test page. */
|
|
89
87
|
BasePage.prototype.scrollToTestElement = function () {
|
|
90
|
-
|
|
91
|
-
driver.touchScroll(exports.COMPONENT_SCROLL_COORDINATES.x, exports.COMPONENT_SCROLL_COORDINATES.y, $('~ScrollViewAreaForComponents').elementId);
|
|
92
|
-
}
|
|
88
|
+
/* TODO: Implement (not needed yet) */
|
|
93
89
|
};
|
|
94
90
|
/* A method that allows the caller to pass in a condition. A wrapper for waitUntil(). Once testing becomes more extensive,
|
|
95
91
|
* this will allow cleaner code within all the Page Objects. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePage.macos.js","sourceRoot":"","sources":["../../../src/E2E/common/BasePage.macos.ts"],"names":[],"mappings":";;;AAAA,IAAM,UAAU,GAAG,EAAE,CAAC;AACT,QAAA,4BAA4B,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,uGAAuG;AAEvK
|
|
1
|
+
{"version":3,"file":"BasePage.macos.js","sourceRoot":"","sources":["../../../src/E2E/common/BasePage.macos.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui-react-native/tester",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.81.0",
|
|
4
4
|
"description": "A test app to test FluentUI React Native Components during development",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Microsoft <fluentuinativeowners@microsoft.com>",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"@wdio/spec-reporter": "^6.5.0",
|
|
92
92
|
"@wdio/sync": "^6.5.0",
|
|
93
93
|
"appium": "^2.0.0-beta.27",
|
|
94
|
-
"appium-mac2-driver": "^1.
|
|
94
|
+
"appium-mac2-driver": "^1.4.0",
|
|
95
95
|
"flow-bin": "^0.113.0",
|
|
96
96
|
"metro-config": "^0.66.2",
|
|
97
97
|
"metro-react-native-babel-preset": "^0.66.2",
|
package/src/E2E/README.md
CHANGED
|
@@ -61,13 +61,15 @@ _Note: It could take up to a minute to load the test app with WebDriverIO, don't
|
|
|
61
61
|
|
|
62
62
|
1. Follow step #1 from "Win32 Steps" section above.
|
|
63
63
|
2. POD Install
|
|
64
|
-
- C:\repo\fluentui-react-native> `cd apps\macos
|
|
65
|
-
- C:\repo\fluentui-react-native\apps\macos
|
|
66
|
-
3.
|
|
67
|
-
- C:\repo\fluentui-react-native> `
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
- C:\repo\fluentui-react-native\apps\
|
|
64
|
+
- C:\repo\fluentui-react-native> `cd apps\fluent-tester\macos`
|
|
65
|
+
- C:\repo\fluentui-react-native\apps\fluent-tester\macos> `pod install`
|
|
66
|
+
3. Install Appium's MacOS Driver (only needed once)
|
|
67
|
+
- C:\repo\fluentui-react-native\apps\fluent-tester\E2E> `yarn appium driver install mac2`
|
|
68
|
+
4. Start the server
|
|
69
|
+
- C:\repo\fluentui-react-native> `cd apps\fluent-tester`
|
|
70
|
+
- C:\repo\fluentui-react-native\apps\fluent-tester> `yarn start`
|
|
71
|
+
5. Open a new command prompt and run the E2E tests
|
|
72
|
+
- C:\repo\fluentui-react-native\apps\fluent-tester> `yarn e2etest:macos`
|
|
71
73
|
|
|
72
74
|
_Note: It could take up to a minute to load the test app with WebDriverIO, don't panic, the tests will run :)_
|
|
73
75
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
const DUMMY_CHAR = '';
|
|
2
2
|
export const COMPONENT_SCROLL_COORDINATES = { x: -0, y: -100 }; // These are the offsets. Y is negative because we want the touch to move up (and thus it scrolls down)
|
|
3
3
|
|
|
4
|
-
/* Mac-Specific Selector. We use this to get elements on the test page
|
|
4
|
+
/* Mac-Specific Selector. We use this to get elements on the test page.
|
|
5
|
+
* Specifically, this is the xpath selector. See https://v6.webdriver.io/docs/selectors.html#xpath */
|
|
5
6
|
export function By(identifier: string): WebdriverIO.Element {
|
|
6
7
|
return $('//*[@identifier="' + identifier + '"]');
|
|
7
8
|
}
|
|
@@ -55,10 +56,7 @@ export class BasePage {
|
|
|
55
56
|
/* Scrolls until the desired test page's button is displayed. We use the scroll viewer UI element as the point to start scrolling.
|
|
56
57
|
* We use a negative number as the Y-coordinate because that enables us to scroll downwards */
|
|
57
58
|
scrollToComponentButton(): void {
|
|
58
|
-
|
|
59
|
-
const scrollViewElement = $('~SCROLLVIEW_TEST_ID');
|
|
60
|
-
driver.touchScroll(COMPONENT_SCROLL_COORDINATES.x, COMPONENT_SCROLL_COORDINATES.y, scrollViewElement.elementId);
|
|
61
|
-
}
|
|
59
|
+
/* TODO: Implement (not needed yet) */
|
|
62
60
|
}
|
|
63
61
|
|
|
64
62
|
/* Waits for the test page to load. If the test page doesn't load before the timeout, it causes the test to fail. */
|
|
@@ -106,9 +104,7 @@ export class BasePage {
|
|
|
106
104
|
|
|
107
105
|
/* Scrolls to the primary UI test element until it is displayed. It uses the ScrollView that encapsulates each test page. */
|
|
108
106
|
scrollToTestElement(): void {
|
|
109
|
-
|
|
110
|
-
driver.touchScroll(COMPONENT_SCROLL_COORDINATES.x, COMPONENT_SCROLL_COORDINATES.y, $('~ScrollViewAreaForComponents').elementId);
|
|
111
|
-
}
|
|
107
|
+
/* TODO: Implement (not needed yet) */
|
|
112
108
|
}
|
|
113
109
|
|
|
114
110
|
/* A method that allows the caller to pass in a condition. A wrapper for waitUntil(). Once testing becomes more extensive,
|
package/wdio.conf.macos.js
CHANGED
|
@@ -16,8 +16,8 @@ exports.config = {
|
|
|
16
16
|
{
|
|
17
17
|
maxInstances: 1, // Maximum number of total parallel running workers.
|
|
18
18
|
platformName: 'mac',
|
|
19
|
-
automationName: 'Mac2',
|
|
20
|
-
bundleId: 'com.microsoft.ReactTestApp',
|
|
19
|
+
'appium:automationName': 'Mac2',
|
|
20
|
+
'appium:bundleId': 'com.microsoft.ReactTestApp',
|
|
21
21
|
},
|
|
22
22
|
],
|
|
23
23
|
|
|
@@ -113,8 +113,23 @@ exports.config = {
|
|
|
113
113
|
* Hook that gets executed before the suite starts
|
|
114
114
|
* @param {Object} suite suite details
|
|
115
115
|
*/
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
beforeSuite: function () {
|
|
117
|
+
// Unlike other platforms, the appium Mac2 driver doesn't have a command to maximize the app.
|
|
118
|
+
// Because of this, we look up the maximize window button directly through it's XCUI identifier and click it.
|
|
119
|
+
let fluentTesterWindow = null;
|
|
120
|
+
browser.waitUntil(() => {
|
|
121
|
+
fluentTesterWindow = $('//*[@title="Fluent Tester" and @elementType=4]');
|
|
122
|
+
return fluentTesterWindow != null;
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
timeout: 10000,
|
|
126
|
+
timeoutMsg: 'Could not find the FluentTester window. Cannot maximize app.',
|
|
127
|
+
interval: 500
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
const maxButton = fluentTesterWindow.$('//*[@identifier="_XCUI:FullScreenWindow" and @elementType=9]');
|
|
131
|
+
maxButton.click();
|
|
132
|
+
},
|
|
118
133
|
/**
|
|
119
134
|
* Function to be executed before a test (in Mocha/Jasmine) starts.
|
|
120
135
|
*/
|