@sap_oss/wdio-qmate-service 1.0.2 → 1.2.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.
Files changed (55) hide show
  1. package/docs/doc.md +355 -152
  2. package/docs/sections/bestPractices/authentication.md +0 -2
  3. package/docs/sections/contact.md +4 -0
  4. package/docs/sections/features/advancedDataHandling.md +1 -1
  5. package/docs/sections/features/dataHandling.md +2 -2
  6. package/lib/reuse/authenticator/customAuthenticator.js +4 -4
  7. package/lib/reuse/authenticator/formAuthenticator.js +4 -4
  8. package/lib/reuse/modules/service/odata.d.ts +3 -3
  9. package/lib/reuse/modules/service/odata.js +3 -3
  10. package/lib/reuse/modules/ui5/control.d.ts +6 -5
  11. package/lib/reuse/modules/ui5/control.js +5 -5
  12. package/lib/reuse/modules/ui5/control.js.map +1 -1
  13. package/lib/reuse/modules/ui5/session.d.ts +8 -8
  14. package/lib/reuse/modules/ui5/session.js +15 -15
  15. package/lib/reuse/modules/ui5/session.js.map +1 -1
  16. package/lib/reuse/modules/ui5/userInteraction.d.ts +34 -21
  17. package/lib/reuse/modules/ui5/userInteraction.js +149 -114
  18. package/lib/reuse/modules/ui5/userInteraction.js.map +1 -1
  19. package/lib/scripts/hooks/utils/decryption.d.ts +11 -1
  20. package/lib/scripts/hooks/utils/decryption.js +53 -7
  21. package/lib/scripts/hooks/utils/decryption.js.map +1 -1
  22. package/package.json +2 -3
  23. package/test/authenticator/staticLogin/configCustom.js +1 -1
  24. package/test/authenticator/staticLogin/configFiori.js +1 -1
  25. package/test/authenticator/staticLogin/configSapCloud.js +1 -1
  26. package/test/authenticator/staticLogin/specs/custom.spec.js +2 -2
  27. package/test/authenticator/staticLogin/specs/customViaConfig.spec.js +1 -1
  28. package/test/authenticator/staticLogin/specs/plain.spec.js +4 -4
  29. package/test/authenticator/systemLogin/configCustom.js +2 -2
  30. package/test/authenticator/systemLogin/configFiori.js +3 -3
  31. package/test/authenticator/systemLogin/configPlain.js +1 -1
  32. package/test/authenticator/systemLogin/configSapCloud.js +3 -3
  33. package/test/core/dataExchange/utils.js +4 -4
  34. package/test/reuse/common/assertion/expectUrlToBe.spec.js +4 -4
  35. package/test/reuse/ui5/navigation/closePopups.spec.js +1 -1
  36. package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +6 -6
  37. package/test/reuse/ui5/navigation/navigateToApplication.spec.js +3 -3
  38. package/test/reuse/ui5/navigation/navigateToApplicationAndRetry.spec.js +3 -3
  39. package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +7 -7
  40. package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +4 -4
  41. package/test/reuse/ui5/navigation/test.navigation.conf.js +1 -1
  42. package/test/reuse/ui5/session/login.spec.js +4 -4
  43. package/test/reuse/ui5/session/loginFiori.spec.js +2 -2
  44. package/test/reuse/ui5/session/loginSapCloud.spec.js +3 -3
  45. package/test/reuse/ui5/session/logout.spec.js +2 -2
  46. package/test/reuse/ui5/session/switchUser.spec.js +6 -6
  47. package/test/reuse/ui5/userInteraction/clickTab.spec.js +52 -19
  48. package/test/reuse/ui5/userInteraction/selectFromTab.spec.js +38 -0
  49. package/test/reuse/ui5/userInteraction/test.userInteraction.conf.js +1 -0
  50. package/test/reuse/util/data/data/test.secure.json +4 -4
  51. package/test/reuse/util/data/decrypt.spec.js +1 -1
  52. package/test/reuse/util/data/getSecureData.spec.js +4 -4
  53. package/test/reuse/util/data/test.data.conf.js +1 -1
  54. package/docs/bestPractices/spec.md +0 -0
  55. package/docs/gettingStarted/setup.md +0 -8
@@ -1,7 +1,6 @@
1
1
  const { handleCookiesConsent } = require("../../../helper/utils");
2
2
 
3
- describe("userInteraction - click Tab", function () {
4
-
3
+ describe("userInteraction - clickTab - simple tab", function () {
5
4
  it("Preparation", async function () {
6
5
  await browser.navigateTo("https://sapui5.hana.ondemand.com/1.99.0/#/api/sap.m.IconTabBar");
7
6
  await handleCookiesConsent();
@@ -9,10 +8,10 @@ describe("userInteraction - click Tab", function () {
9
8
 
10
9
  it("Execution", async function () {
11
10
  const selector = {
12
- "elementProperties": {
13
- "viewName": "sap.ui.documentation.sdk.view.SubApiDetail",
14
- "metadata": "sap.m.Button",
15
- "text": "Properties"
11
+ elementProperties: {
12
+ viewName: "sap.ui.documentation.sdk.view.SubApiDetail",
13
+ metadata: "sap.m.Button",
14
+ text: "Properties"
16
15
  }
17
16
  };
18
17
  const index = 0;
@@ -22,19 +21,52 @@ describe("userInteraction - click Tab", function () {
22
21
 
23
22
  it("Verification", async function () {
24
23
  const selector = {
25
- "elementProperties": {
26
- "viewName": "sap.ui.documentation.sdk.view.SubApiDetail",
27
- "metadata": "sap.m.Label",
28
- "text": "Show borrowed properties"
24
+ elementProperties: {
25
+ viewName: "sap.ui.documentation.sdk.view.SubApiDetail",
26
+ metadata: "sap.m.Label",
27
+ text: "Show borrowed properties"
29
28
  }
30
29
  };
31
30
  await ui5.assertion.expectToBeVisible(selector);
32
31
  });
33
32
  });
34
33
 
34
+ describe("userInteraction - clickTab - multiple select values", function () {
35
+ it("Preparation", async function () {
36
+ await browser.navigateTo("https://sapui5.hana.ondemand.com/1.99.0/#/api/sap.m.IconTabBar");
37
+ await util.browser.refresh();
38
+ await handleCookiesConsent();
39
+ });
35
40
 
36
- describe("userInteraction - click on non Tab element", function () {
41
+ it("Execution", async function () {
42
+ const selector = {
43
+ elementProperties: {
44
+ viewName: "sap.ui.documentation.sdk.view.SubApiDetail",
45
+ metadata: "sap.m.Button",
46
+ text: "Events"
47
+ }
48
+ };
49
+ await ui5.userInteraction.clickTab(selector);
50
+ });
51
+
52
+ it("Verification", async function () {
53
+ const selector = {
54
+ elementProperties: {
55
+ viewName: "sap.ui.documentation.sdk.view.SubApiDetail",
56
+ metadata: "sap.ui.documentation.ObjectPageSubSection",
57
+ title: "Summary"
58
+ },
59
+ ancestorProperties: {
60
+ metadata: "sap.uxap.ObjectPageSection",
61
+ viewName: "sap.ui.documentation.sdk.view.SubApiDetail",
62
+ title: "Events"
63
+ }
64
+ };
65
+ await ui5.assertion.expectToBeVisible(selector);
66
+ });
67
+ });
37
68
 
69
+ describe("userInteraction - clickTab - non tab element", function () {
38
70
  it("Preparation", async function () {
39
71
  await browser.navigateTo("https://sapui5.hana.ondemand.com/1.99.0/#/api/sap.m.IconTabBar");
40
72
  await util.browser.refresh();
@@ -43,17 +75,18 @@ describe("userInteraction - click on non Tab element", function () {
43
75
 
44
76
  it("Execution & Verification", async function () {
45
77
  const selector = {
46
- "elementProperties": {
47
- "viewName": "sap.ui.documentation.sdk.view.SubApiDetail",
48
- "metadata": "sap.ui.documentation.JSDocText",
49
- "text": [{
50
- "path": "/description"
51
- }]
78
+ elementProperties: {
79
+ viewName: "sap.ui.documentation.sdk.view.SubApiDetail",
80
+ metadata: "sap.ui.documentation.JSDocText",
81
+ text: [
82
+ {
83
+ path: "/description"
84
+ }
85
+ ]
52
86
  }
53
87
  };
54
88
  const index = 0;
55
89
  const timeout = 30000;
56
- await expect(ui5.userInteraction.clickTab(selector, index, timeout))
57
- .rejects.toThrow("Retries done. Failed to execute the function");
90
+ await expect(ui5.userInteraction.clickTab(selector, index, timeout)).rejects.toThrow("Retries done. Failed to execute the function");
58
91
  });
59
92
  });
@@ -0,0 +1,38 @@
1
+ const { handleCookiesConsent } = require("../../../helper/utils");
2
+
3
+ describe("userInteraction - selectFromTab", function () {
4
+ it("Preparation", async function () {
5
+ await browser.navigateTo("https://sapui5.hana.ondemand.com/1.99.0/#/api/sap.m.IconTabBar");
6
+ await handleCookiesConsent();
7
+ });
8
+
9
+ it("Execution", async function () {
10
+ const selector = {
11
+ elementProperties: {
12
+ viewName: "sap.ui.documentation.sdk.view.SubApiDetail",
13
+ metadata: "sap.m.Button",
14
+ text: "Events"
15
+ }
16
+ };
17
+ const value = "expand";
18
+ const index = 0;
19
+ const timeout = 30000;
20
+ await ui5.userInteraction.selectFromTab(selector, value, index, timeout);
21
+ });
22
+
23
+ it("Verification", async function () {
24
+ const selector = {
25
+ elementProperties: {
26
+ viewName: "sap.ui.documentation.sdk.view.SubApiDetail",
27
+ metadata: "sap.ui.documentation.JSDocText",
28
+ text: "<p>Indicates that the tab will expand or collapse.<br><br><i>Since: 1.15.0.</i></p>"
29
+ },
30
+ ancestorProperties: {
31
+ metadata: "sap.ui.documentation.ObjectPageSubSection",
32
+ viewName: "sap.ui.documentation.sdk.view.SubApiDetail",
33
+ title: "expand"
34
+ }
35
+ };
36
+ await ui5.assertion.expectToBeVisible(selector);
37
+ });
38
+ });
@@ -20,6 +20,7 @@ exports.config = merge(profile.config, {
20
20
  path.resolve(__dirname, "clickSelectArrow.spec.js"),
21
21
  path.resolve(__dirname, "clickSelectArrowAndRetry.spec.js"),
22
22
  path.resolve(__dirname, "clickTab.spec.js"),
23
+ path.resolve(__dirname, "selectFromTab.spec.js"),
23
24
  path.resolve(__dirname, "fill.spec.js"),
24
25
  path.resolve(__dirname, "fillAndRetry.spec.js"),
25
26
  path.resolve(__dirname, "openF4Help.spec.js"),
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "session": {
3
- "password": "abc58265b20c8cf7c29d92f31f37530d78eaafbca59af332efdd6cc3d82fa8792bfa1dfd0db43c156291d0d30e411015cb7cad0173248bcdaa36b491a3ca7da027f57d5fee5ef8a1ef5d85f62115415739afd8c72594aade979c53398c22d4671cde7638ac158db914e0eaf6ce4274f1ca4564f5359b2d005e8747dea39548d6fe0502cb6e493bd77da40f29ffbc7ce874822ab309c3de0f4b368ec883370a19a87b8b26c99e63bf7ff7cfb1f2bf1ef0cb3b002573a36c5a95749ef077eb0f12406cd547b97b6ef18b4d8f19c6aaff3842e31176c22de9122d0b7c6c0db7b054c82c23e6fbce1a25107a59e9b137961022f19b3c7729764bcd1c1546267962af0d256794d1105c4988f098d04af45190915a0fc7fb3683c2a3af1f2ec12881df74a0de278c5bf6974928f3d93db0adeb4cd04ea364c66985c2e53eb7f184c15003555219f71c0c517f2f72e08a3565622c89e1184b6e55fcf2aad30edb0a1028"
3
+ "password": "b1512310be1b4ae516a92bab1f857fc6018abe6e8199622db77a621b21ab1d7b0aeede946829ad6d46ec4d8f349e0a27452abe8fd0f7f035a309627e80a066a400ad06456ae6e6202287c7259b5703e8df768e76708c0f8494c2245eee5a841e1ab4ecd909347561cb92eba4ff53f7e288a31d295f475b1a6a00b804090d7bc15eb2108f6ce842fdee574d95c8fa562f4a927aaaea77c5eaf66330bfcb6445ee55c58815d30eb94845a19f3080e89a96cb9fcacfc51a1043dff1a99086d3be86e4529e9ddd381086a167703d5bff19e3060fec0e59b6a2d3d383c731bff89e26cc322d5436c5f654aa4df99977c770580220cad7075fc786a5d6310e49881b8ee9e3614339ce3d7f991d801f6e469ebff38cbda7fa479e6949a71580c8cd53816f72765dd0fe15feeab30424e950b37b8cfa0900d36295208b900d0923ac9b99f8bd5707a6095bdb4c995286787dc3fa058c462f041879061afd5157a207eca7"
4
4
  },
5
5
  "test": {
6
6
  "number": 42,
7
7
  "inner": {
8
- "value": "a1084621beba77429f4e8252e51c74203ae7bfbea3b437f53f18baf0ac0dd29facc02bd9e5068c382bddcd50539f784ff81508585f5284afa3b9efcee305f7da161230259a8eaa9728e524576e4226dbca892df9a07f2cc21f70b9e59ec9d0d8593108ed36da535663b3fa6ddd8ce61fa5b712875e091f87e78cba5c644cbb93246af1f3f1e8bccddb107d3662fe1b2fd15dba8f17d7f4179a4135703950e6ef979152b9b3391f3f227e2161fb1106c97c2ee19dcc5c58752a6b4ab85fc86fee40b9d4b0197aa06a4f2e3fe6963d47095981cab1a1dc8432173eebab9b81322595061216285c17188a6acb99fc3eb436158328943090043929774a84c0c3f81b65b18c2d8bc85b36aa79668b28d045c6752c834238f4612a0db6d5f13649a02be4eecd88291a3dda978191d946b49948fe2f2ba6d77598302800a75fa07312332853e334f612af3957db307b45d9cb286bef119641cd104d3fcc1d7e9bb31c9a"
8
+ "value": "7090bcc6097140bdf6e68850582b5e94bbd4ec52d0db5c83ac7b9c1cf4c771e2b467b8cab402f27d6bf7ba1737ec081aff24bb437e80f734ad385fa28cdbe765b630774df1021c5020515d714753c1fce0119d9a7360cd802ac536060b33976a564a590c0f61a83e7d83b02ea917f0eba8ef34f36c5898bd49013dc5756dbb3b775f1df9b99c552f1d6c44fdf8b0635e69d4c884a5226a29b573b7975e8ac564481a3e8870ccef8dbff66e167b67bac9ec3155dc0e3c41460b03d9ab6ab58f061aa67b4216b0f719fb37225c5e51b3cdd38c4597c0fe9c48e5400390a61271649e3eda26c011dfca6a22cab1b7f8ed54bc37883013f203a117d3893dab3f5f42bbb63bf9566114df3e1aff43758a98d1e8cddc0b2a5c9b7076e6b6ce8d02864514b8af3a8b8d5f789c910c2af37305ad73b5bf9a3403299416a4278108987b80f33f82f6f2ad812518fbeb5eca565a52d8dea18976dc4d895c3c5a22693c70e9"
9
9
  }
10
10
  },
11
11
  "alternatives": [
12
- "abc58265b20c8cf7c29d92f31f37530d78eaafbca59af332efdd6cc3d82fa8792bfa1dfd0db43c156291d0d30e411015cb7cad0173248bcdaa36b491a3ca7da027f57d5fee5ef8a1ef5d85f62115415739afd8c72594aade979c53398c22d4671cde7638ac158db914e0eaf6ce4274f1ca4564f5359b2d005e8747dea39548d6fe0502cb6e493bd77da40f29ffbc7ce874822ab309c3de0f4b368ec883370a19a87b8b26c99e63bf7ff7cfb1f2bf1ef0cb3b002573a36c5a95749ef077eb0f12406cd547b97b6ef18b4d8f19c6aaff3842e31176c22de9122d0b7c6c0db7b054c82c23e6fbce1a25107a59e9b137961022f19b3c7729764bcd1c1546267962af0d256794d1105c4988f098d04af45190915a0fc7fb3683c2a3af1f2ec12881df74a0de278c5bf6974928f3d93db0adeb4cd04ea364c66985c2e53eb7f184c15003555219f71c0c517f2f72e08a3565622c89e1184b6e55fcf2aad30edb0a1028",
13
- "551e59de54cb81abb64f7c9db2fae03ab9f1d3273d4de50c76494b64493e17facab795812f38fc19a8696d811e8f2f492b9988836424b7e335ff4c17dc28e697cab2fcf76ddf128390820422ba716bae8d286d9c288a621ed2c4f433e3a9d9a1b29626661bbcc6d587eca064635bb2526875207e75a3747d35ef41873a3002af6b81e1f18d5ff99eab470d7aca4f2b5fa23df7224291bd98abef484477380d06f768a94ff425d5a4ba51e1f9854c96b37a4055c2035758db9ce13a08e890c022255fa360165c8cc230bc949a557b013a1472f5258e4e62aace43da79af7b0b77d5401a9fed60a7ea574a3ebed9c2c58b537e7bec55c9941b2cb9f1d5ee1c71fcf224af4685f83e4bed7dcb305896b79739d996061c1c61ce23707f08d1ef28144c160545b10b7fefbc620313edae477808165df484bd3d25a4e4a5ca36e61dfbd91802b356e82d2b39547bd31e8c28f50da6eff8ba741407d945e0a1c512ba24"
12
+ "DUMMY310be1b4ae516a92bab1f857fc6018abe6e8199622db77a621b21ab1d7b0aeede946829ad6d46ec4d8f349e0a27452abe8fd0f7f035a309627e80a066a400ad06456ae6e6202287c7259b5703e8df768e76708c0f8494c2245eee5a841e1ab4ecd909347561cb92eba4ff53f7e288a31d295f475b1a6a00b804090d7bc15eb2108f6ce842fdee574d95c8fa562f4a927aaaea77c5eaf66330bfcb6445ee55c58815d30eb94845a19f3080e89a96cb9fcacfc51a1043dff1a99086d3be86e4529e9ddd381086a167703d5bff19e3060fec0e59b6a2d3d383c731bff89e26cc322d5436c5f654aa4df99977c770580220cad7075fc786a5d6310e49881b8ee9e3614339ce3d7f991d801f6e469ebff38cbda7fa479e6949a71580c8cd53816f72765dd0fe15feeab30424e950b37b8cfa0900d36295208b900d0923ac9b99f8bd5707a6095bdb4c995286787dc3fa058c462f041879061afd5157a207eca7",
13
+ "b1512310be1b4ae516a92bab1f857fc6018abe6e8199622db77a621b21ab1d7b0aeede946829ad6d46ec4d8f349e0a27452abe8fd0f7f035a309627e80a066a400ad06456ae6e6202287c7259b5703e8df768e76708c0f8494c2245eee5a841e1ab4ecd909347561cb92eba4ff53f7e288a31d295f475b1a6a00b804090d7bc15eb2108f6ce842fdee574d95c8fa562f4a927aaaea77c5eaf66330bfcb6445ee55c58815d30eb94845a19f3080e89a96cb9fcacfc51a1043dff1a99086d3be86e4529e9ddd381086a167703d5bff19e3060fec0e59b6a2d3d383c731bff89e26cc322d5436c5f654aa4df99977c770580220cad7075fc786a5d6310e49881b8ee9e3614339ce3d7f991d801f6e469ebff38cbda7fa479e6949a71580c8cd53816f72765dd0fe15feeab30424e950b37b8cfa0900d36295208b900d0923ac9b99f8bd5707a6095bdb4c995286787dc3fa058c462f041879061afd5157a207eca7"
14
14
  ]
15
15
  }
@@ -8,7 +8,7 @@ describe("data - decrypt", function() {
8
8
  });
9
9
 
10
10
  it("Verification", function () {
11
- const dataExp = "Welcome1!";
11
+ const dataExp = "super-duper-sensitive-pw";
12
12
  common.assertion.expectEqual(decrypted, dataExp);
13
13
  });
14
14
 
@@ -7,7 +7,7 @@ describe("data - getSecureData", function() {
7
7
  });
8
8
 
9
9
  it("Verification 1 - hashed value", function () {
10
- const dataExp = "Welcome1!";
10
+ const dataExp = "super-duper-sensitive-pw";
11
11
  const dataAct = data.session.password;
12
12
  common.assertion.expectEqual(dataAct, dataExp);
13
13
  });
@@ -25,7 +25,7 @@ describe("data - getSecureData", function() {
25
25
  });
26
26
 
27
27
  it("Verification 4 - alternatives from different keys", function () {
28
- const dataExp = "Welcome1!";
28
+ const dataExp = "super-duper-sensitive-pw";
29
29
  const dataAct = data.alternatives;
30
30
  common.assertion.expectEqual(dataAct, dataExp);
31
31
  });
@@ -38,7 +38,7 @@ describe("data - getSecureData", function() {
38
38
  // test.local.json
39
39
  // {
40
40
  // "session": {
41
- // "password": "Welcome1!"
41
+ // "password": "super-duper-sensitive-pw"
42
42
  // }
43
43
  // }
44
44
 
@@ -55,7 +55,7 @@ describe("data - getSecureData", function() {
55
55
  // });
56
56
 
57
57
  // it("Verification", function () {
58
- // const dataExp = "Welcome1!";
58
+ // const dataExp = "super-duper-sensitive-pw";
59
59
  // const dataAct = data.session.password;
60
60
  // common.assertion.expectEqual(dataAct, dataExp);
61
61
  // });
@@ -19,4 +19,4 @@ exports.config = merge(profile.config, {
19
19
  path.resolve(__dirname, "getSecureData.spec.js"),
20
20
  path.resolve(__dirname, "decrypt.spec.js")
21
21
  ]
22
- });
22
+ });
File without changes
@@ -1,8 +0,0 @@
1
- ## Prerequisites
2
- Make sure [Node.js](https://nodejs.org/en/download/) is installed on your computer.
3
-
4
- ## Installation
5
- To install the latest version of the service, simply execute the following command:
6
- ```bash
7
- npm install @sap_oss/wdio-qmate-service
8
- ```