system-testing 1.0.114 → 1.0.116
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/README.md +4 -0
- package/build/browser.d.ts +9 -0
- package/build/browser.js +36 -6
- package/build/drivers/webdriver-driver.d.ts +11 -1
- package/build/drivers/webdriver-driver.js +57 -27
- package/build/system-test.d.ts +32 -2
- package/build/system-test.js +121 -25
- package/build/use-system-test-expo.js +7 -3
- package/package.json +4 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useRouter } from "expo-router";
|
|
1
|
+
import { useNavigationContainerRef, useRouter } from "expo-router";
|
|
2
2
|
import useSystemTest from "./use-system-test.js";
|
|
3
3
|
/**
|
|
4
4
|
* Expo Router integration for system testing.
|
|
@@ -12,6 +12,7 @@ import useSystemTest from "./use-system-test.js";
|
|
|
12
12
|
* @returns {{enabled: boolean, systemTestBrowserHelper: import("./system-test-browser-helper.js").default | null}}
|
|
13
13
|
*/
|
|
14
14
|
export default function useSystemTestExpo({ browserHelper, enabled, host, onFirstInitialize, onInitialize, onTeardown, ...restArgs } = { browserHelper: undefined, enabled: undefined, host: undefined, onFirstInitialize: undefined, onInitialize: undefined, onTeardown: undefined }) {
|
|
15
|
+
const navigationContainerRef = useNavigationContainerRef();
|
|
15
16
|
const router = useRouter();
|
|
16
17
|
const restArgsKeys = Object.keys(restArgs);
|
|
17
18
|
if (restArgsKeys.length > 0) {
|
|
@@ -34,7 +35,10 @@ export default function useSystemTestExpo({ browserHelper, enabled, host, onFirs
|
|
|
34
35
|
// Pressables that share the same testID as the visible one and Selenium
|
|
35
36
|
// clicks fail to fire onPress.
|
|
36
37
|
try {
|
|
37
|
-
|
|
38
|
+
const navigation = navigationContainerRef.current;
|
|
39
|
+
if (navigation && navigation.canGoBack()) {
|
|
40
|
+
router.dismissAll();
|
|
41
|
+
}
|
|
38
42
|
}
|
|
39
43
|
catch (error) {
|
|
40
44
|
console.error(`Failed to dismiss all stack screens: ${error instanceof Error ? error.message : error}`);
|
|
@@ -48,4 +52,4 @@ export default function useSystemTestExpo({ browserHelper, enabled, host, onFirs
|
|
|
48
52
|
}
|
|
49
53
|
});
|
|
50
54
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXN5c3RlbS10ZXN0LWV4cG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXNlLXN5c3RlbS10ZXN0LWV4cG8uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHlCQUF5QixFQUFFLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQTtBQUNoRSxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUVoRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sVUFBVSxpQkFBaUIsQ0FBQyxFQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxRQUFRLEVBQUMsR0FBRyxFQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUM7SUFDaFIsTUFBTSxzQkFBc0IsR0FBRyx5QkFBeUIsRUFBRSxDQUFBO0lBQzFELE1BQU0sTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFBO0lBQzFCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFMUMsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzdGLENBQUM7SUFFRCxPQUFPLGFBQWEsQ0FBQztRQUNuQixhQUFhO1FBQ2IsT0FBTztRQUNQLElBQUk7UUFDSixXQUFXLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDO2dCQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDeEIsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxNQUFNLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7WUFDekcsQ0FBQztZQUVELG9FQUFvRTtZQUNwRSwwRUFBMEU7WUFDMUUsa0VBQWtFO1lBQ2xFLHdFQUF3RTtZQUN4RSwrQkFBK0I7WUFDL0IsSUFBSSxDQUFDO2dCQUNILE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQTtnQkFFakQsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7b0JBQ3pDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQTtnQkFDckIsQ0FBQztZQUNILENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7WUFDekcsQ0FBQztRQUNILENBQUM7UUFDRCxpQkFBaUI7UUFDakIsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUU7WUFDckIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2QixDQUFDO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlTmF2aWdhdGlvbkNvbnRhaW5lclJlZiwgdXNlUm91dGVyfSBmcm9tIFwiZXhwby1yb3V0ZXJcIlxuaW1wb3J0IHVzZVN5c3RlbVRlc3QgZnJvbSBcIi4vdXNlLXN5c3RlbS10ZXN0LmpzXCJcblxuLyoqXG4gKiBFeHBvIFJvdXRlciBpbnRlZ3JhdGlvbiBmb3Igc3lzdGVtIHRlc3RpbmcuXG4gKiBAcGFyYW0ge29iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtIHtpbXBvcnQoXCIuL3N5c3RlbS10ZXN0LWJyb3dzZXItaGVscGVyLmpzXCIpLmRlZmF1bHR9IFtvcHRpb25zLmJyb3dzZXJIZWxwZXJdXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmVuYWJsZWRdIE92ZXJyaWRlIHRoZSBhdXRvLWRldGVjdGVkIGVuYWJsZWQgc3RhdGUuXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuaG9zdF0gT3ZlcnJpZGUgdGhlIHN5c3RlbSB0ZXN0IGhvc3QgZm9yIFdlYlNvY2tldCBjb25uZWN0aW9ucy5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKSA6IHZvaWR9IFtvcHRpb25zLm9uRmlyc3RJbml0aWFsaXplXVxuICogQHBhcmFtIHtmdW5jdGlvbigpIDogdm9pZH0gW29wdGlvbnMub25Jbml0aWFsaXplXVxuICogQHBhcmFtIHtmdW5jdGlvbigpIDogdm9pZH0gW29wdGlvbnMub25UZWFyZG93bl1cbiAqIEByZXR1cm5zIHt7ZW5hYmxlZDogYm9vbGVhbiwgc3lzdGVtVGVzdEJyb3dzZXJIZWxwZXI6IGltcG9ydChcIi4vc3lzdGVtLXRlc3QtYnJvd3Nlci1oZWxwZXIuanNcIikuZGVmYXVsdCB8IG51bGx9fVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTeXN0ZW1UZXN0RXhwbyh7YnJvd3NlckhlbHBlciwgZW5hYmxlZCwgaG9zdCwgb25GaXJzdEluaXRpYWxpemUsIG9uSW5pdGlhbGl6ZSwgb25UZWFyZG93biwgLi4ucmVzdEFyZ3N9ID0ge2Jyb3dzZXJIZWxwZXI6IHVuZGVmaW5lZCwgZW5hYmxlZDogdW5kZWZpbmVkLCBob3N0OiB1bmRlZmluZWQsIG9uRmlyc3RJbml0aWFsaXplOiB1bmRlZmluZWQsIG9uSW5pdGlhbGl6ZTogdW5kZWZpbmVkLCBvblRlYXJkb3duOiB1bmRlZmluZWR9KSB7XG4gIGNvbnN0IG5hdmlnYXRpb25Db250YWluZXJSZWYgPSB1c2VOYXZpZ2F0aW9uQ29udGFpbmVyUmVmKClcbiAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKClcbiAgY29uc3QgcmVzdEFyZ3NLZXlzID0gT2JqZWN0LmtleXMocmVzdEFyZ3MpXG5cbiAgaWYgKHJlc3RBcmdzS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFyZ3VtZW50cyBnaXZlbiB0byB1c2VTeXN0ZW1UZXN0RXhwbzogJHtyZXN0QXJnc0tleXMuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICByZXR1cm4gdXNlU3lzdGVtVGVzdCh7XG4gICAgYnJvd3NlckhlbHBlcixcbiAgICBlbmFibGVkLFxuICAgIGhvc3QsXG4gICAgb25EaXNtaXNzVG86ICh7cGF0aH0pID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJvdXRlci5kaXNtaXNzVG8ocGF0aClcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBkaXNtaXNzIHRvIHBhdGggXCIke3BhdGh9XCI6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBlcnJvcn1gKVxuICAgICAgfVxuXG4gICAgICAvLyBQb3AgZXZlcnkgb3RoZXIgc2NyZWVuIG9mZiB0aGUgU3RhY2sgc28gcHJldmlvdXNseS12aXNpdGVkIHJvdXRlc1xuICAgICAgLy8gdW5tb3VudCBpbnN0ZWFkIG9mIGFjY3VtdWxhdGluZyBpbiBET00gd2l0aCBkaXNwbGF5Om5vbmUuIFdpdGhvdXQgdGhpcyxcbiAgICAgIC8vIHJlYWN0LW5hdGl2ZS13ZWIncyBnbG9iYWwgUHJlc3NSZXNwb25kZXIgZ2V0cyBjb25mdXNlZCBieSBzdGFsZVxuICAgICAgLy8gUHJlc3NhYmxlcyB0aGF0IHNoYXJlIHRoZSBzYW1lIHRlc3RJRCBhcyB0aGUgdmlzaWJsZSBvbmUgYW5kIFNlbGVuaXVtXG4gICAgICAvLyBjbGlja3MgZmFpbCB0byBmaXJlIG9uUHJlc3MuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBuYXZpZ2F0aW9uID0gbmF2aWdhdGlvbkNvbnRhaW5lclJlZi5jdXJyZW50XG5cbiAgICAgICAgaWYgKG5hdmlnYXRpb24gJiYgbmF2aWdhdGlvbi5jYW5Hb0JhY2soKSkge1xuICAgICAgICAgIHJvdXRlci5kaXNtaXNzQWxsKClcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGRpc21pc3MgYWxsIHN0YWNrIHNjcmVlbnM6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBlcnJvcn1gKVxuICAgICAgfVxuICAgIH0sXG4gICAgb25GaXJzdEluaXRpYWxpemUsXG4gICAgb25Jbml0aWFsaXplLFxuICAgIG9uVGVhcmRvd24sXG4gICAgb25OYXZpZ2F0ZTogKHtwYXRofSkgPT4ge1xuICAgICAgcm91dGVyLm5hdmlnYXRlKHBhdGgpXG4gICAgfVxuICB9KVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "system-testing",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.116",
|
|
4
4
|
"description": "System testing with Selenium and browsers.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"system-testing": "build/cli.js"
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"eslint": "eslint --max-warnings 0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"appium": "3.5.
|
|
51
|
+
"appium": "3.5.2",
|
|
52
52
|
"awaitery": "^1.0.12",
|
|
53
53
|
"diggerize": "^1.0.9",
|
|
54
54
|
"eventemitter3": "^5.0.1",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"qs": "^6.14.1",
|
|
60
60
|
"scoundrel-remote-eval": "^1.0.28",
|
|
61
61
|
"set-state-compare": "^1.0.72",
|
|
62
|
+
"typanic": "^1.0.6",
|
|
62
63
|
"ws": "^8.18.3",
|
|
63
64
|
"ya-use-event-emitter": "^0.1.2"
|
|
64
65
|
},
|
|
@@ -74,7 +75,7 @@
|
|
|
74
75
|
"devDependencies": {
|
|
75
76
|
"@eslint/js": "^10.0.1",
|
|
76
77
|
"@types/jasmine": "^6.0.0",
|
|
77
|
-
"@types/node": "^
|
|
78
|
+
"@types/node": "^26.0.0",
|
|
78
79
|
"@types/qs": "^6.14.0",
|
|
79
80
|
"@types/react": "^19.2.7",
|
|
80
81
|
"@types/selenium-webdriver": "^4.35.4",
|