froth-webdriverio-framework 1.0.32 → 1.0.34
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/api/getexecutionDetails.js +1 -4
- package/api/getintegrationDetails.js +1 -1
- package/api/getsuiteDetails.js +1 -1
- package/api/loginapi.js +30 -26
- package/api/readTestdata.js +1 -1
- package/config/common.mobile.conf.js +3 -2
- package/config/commonconfig.js +4 -7
- package/config/setallDatailinBuffer.js +2 -6
- package/package.json +1 -1
|
@@ -8,10 +8,7 @@ async function getExecuitonDetails(frothUrl, token, id) {
|
|
|
8
8
|
const url = `https://${frothUrl}/api/test-execution-retrieve/${id}`;
|
|
9
9
|
|
|
10
10
|
try {
|
|
11
|
-
|
|
12
|
-
// if (!token) {
|
|
13
|
-
// throw new Error('Login failed, no token obtained');
|
|
14
|
-
// }
|
|
11
|
+
console.log("URL: " + url)
|
|
15
12
|
console.log("setExecutionDetails token "+token)
|
|
16
13
|
|
|
17
14
|
const response = await fetch(url, {
|
package/api/getsuiteDetails.js
CHANGED
package/api/loginapi.js
CHANGED
|
@@ -2,30 +2,34 @@
|
|
|
2
2
|
//const FormData = require('form-data'); // Import the FormData constructor
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
async function getLoginToken(frothUrl,email,password) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
5
|
+
async function getLoginToken(frothUrl, email, password) {
|
|
6
|
+
try {
|
|
7
|
+
const url = `https://${frothUrl}/api/login/`;
|
|
8
|
+
const formData = new FormData();
|
|
9
|
+
formData.append('email_or_username', email);
|
|
10
|
+
formData.append('password', Buffer.from(password, 'base64').toString('utf-8'));
|
|
11
|
+
|
|
12
|
+
const response = await fetch(url, {
|
|
13
|
+
method: 'POST',
|
|
14
|
+
headers: {
|
|
15
|
+
'accept': 'application/json',
|
|
16
|
+
// 'X-CSRFToken': 'hSb92VZT0AFMKaekBUSdlZjfHMIzhzvOyk6e5i8ZrVv6B15EtN8WLps3oyV2MOY1'
|
|
17
|
+
},
|
|
18
|
+
body: formData
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
if (response.ok) {
|
|
22
|
+
const data = await response.json();
|
|
23
|
+
console.log('Token:', data.access_token);
|
|
24
|
+
return data.access_token;
|
|
25
|
+
} else {
|
|
26
|
+
console.error('Login failed:', response.statusText);
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
} catch (error) {
|
|
30
|
+
console.error('Error in getLoginToken function:', error);
|
|
27
31
|
}
|
|
28
|
-
|
|
32
|
+
|
|
29
33
|
}
|
|
30
34
|
|
|
31
35
|
// async function main() {
|
|
@@ -33,14 +37,14 @@ async function getLoginToken(frothUrl,email,password) {
|
|
|
33
37
|
// const frothUrl = "devapi.frothtestops.com";
|
|
34
38
|
// const username = "subhra.subudhi@roboticodigital.com";
|
|
35
39
|
// const password = "V2VsY29tZUAxMjM=";
|
|
36
|
-
|
|
40
|
+
|
|
37
41
|
// const token = await getLoginToken(frothUrl, username, password);
|
|
38
42
|
// if (!token) {
|
|
39
43
|
// throw new Error('Login failed, no token obtained');
|
|
40
44
|
// }
|
|
41
|
-
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
|
|
47
|
+
|
|
44
48
|
// } catch (error) {
|
|
45
49
|
// console.error('Error in main function:', error);
|
|
46
50
|
// }
|
package/api/readTestdata.js
CHANGED
|
@@ -9,7 +9,7 @@ async function getDataById(frothUrl, token, id) {
|
|
|
9
9
|
const url = `https://${frothUrl}/api/testdata-retrieve/${id}/`;
|
|
10
10
|
|
|
11
11
|
try {
|
|
12
|
-
console.log("
|
|
12
|
+
console.log("URL: " + url)
|
|
13
13
|
const response = await fetch(url, {
|
|
14
14
|
method: 'GET',
|
|
15
15
|
headers: {
|
|
@@ -3,8 +3,9 @@ const commonconfig = require('./commonconfig');
|
|
|
3
3
|
console.log("device name in common mobile:", process.env.DEVICENAME);
|
|
4
4
|
|
|
5
5
|
const commonmobconfig = deepmerge.all([commonconfig, {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
|
|
7
|
+
user: process.env.BROWSERSTACK_USERNAME ,
|
|
8
|
+
key: Buffer.from(process.env.BROWSERSTACK_ACCESS_KEY, 'base64').toString('utf-8') ,
|
|
8
9
|
|
|
9
10
|
logLevel: 'info',
|
|
10
11
|
coloredLogs: true,
|
package/config/commonconfig.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const setAllDetails = require("./setallDatailinBuffer")
|
|
2
2
|
const { LocalStorage } = require('node-localstorage');
|
|
3
3
|
global.BUFFER = new LocalStorage('./storage');
|
|
4
|
-
|
|
4
|
+
const exeDetails = require("../api/executionDetails")
|
|
5
5
|
const getBSSessionDetails = require("../api/browsersatckSessionInfo")
|
|
6
6
|
console.log("device name in common :", process.env.DEVICENAME);
|
|
7
7
|
|
|
@@ -16,17 +16,15 @@ const commonconfig = {
|
|
|
16
16
|
await setAllDetails.setEnvVariables();
|
|
17
17
|
await setAllDetails.setLoginToken();
|
|
18
18
|
await setAllDetails.setExecutionDetails();
|
|
19
|
-
|
|
19
|
+
// await setAllDetails.setIntegrationsDetails();
|
|
20
20
|
await setAllDetails.setSuiteDetails();
|
|
21
21
|
await setAllDetails.setTestDataDetails();
|
|
22
22
|
// console.log("ALL JSON DATA:" + JSON.stringify(BUFFER));
|
|
23
|
-
|
|
23
|
+
//console.log("ALL JSON DATA in env variable :" + JSON.stringify(process.env));
|
|
24
24
|
},
|
|
25
25
|
|
|
26
26
|
before: function (capabilities, specs) {
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
28
|
// Code to run before the test suite starts
|
|
31
29
|
console.log('Starting test suite IN EBFORE HOOK ...');
|
|
32
30
|
// Initialize variables, configure environment, etc.
|
|
@@ -42,8 +40,7 @@ const commonconfig = {
|
|
|
42
40
|
console.log("Running suite:", suite.title);
|
|
43
41
|
console.log("Reading test data from the API");
|
|
44
42
|
|
|
45
|
-
getBSSessionDetails("app-automate",
|
|
46
|
-
BUFFER.getItem("BROWSERSTACK_ACCESS_KEY"));
|
|
43
|
+
getBSSessionDetails("app-automate", process.env.BROWSERSTACK_USERNAME, Buffer.from(process.env.BROWSERSTACK_ACCESS_KEY, 'base64').toString('utf-8'));
|
|
47
44
|
|
|
48
45
|
} catch (e) {
|
|
49
46
|
console.log("Error in beforeSuite:", e);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const getLoginToken = require("../api/loginapi");
|
|
2
2
|
const exeDetails = require("../api/getexecutionDetails")
|
|
3
|
-
const getintegrationdetails = require("../api/getintegrationDetails");
|
|
3
|
+
//const getintegrationdetails = require("../api/getintegrationDetails");
|
|
4
4
|
const getSuiteDetails = require("../api/getsuiteDetails");
|
|
5
5
|
const getDataById = require("../api/readTestdata");
|
|
6
6
|
|
|
@@ -66,10 +66,6 @@ async function setExecutionDetails() {
|
|
|
66
66
|
try {
|
|
67
67
|
const getExeDetails = await exeDetails.getExecuitonDetails(BUFFER.getItem("ORGANISATION_DOMAIN_URL"), BUFFER.getItem("LOGIN_TOKEN"), BUFFER.getItem("EXECUTION_ID"));
|
|
68
68
|
BUFFER.setItem("AUTOMATION_SUITE_ID", getExeDetails.automation_suite_id);
|
|
69
|
-
process.env.DEVICENAME = getExeDetails.device_name
|
|
70
|
-
process.env.OSVERSION = getExeDetails.version
|
|
71
|
-
BUFFER.setItem("DEVICE_NAME", getExeDetails.device_name);
|
|
72
|
-
BUFFER.setItem("VERSION", getExeDetails.version);
|
|
73
69
|
|
|
74
70
|
} catch (error) {
|
|
75
71
|
// console.error('Error in main function:', error);
|
|
@@ -112,7 +108,7 @@ module.exports = {
|
|
|
112
108
|
setEnvVariables,
|
|
113
109
|
setLoginToken,
|
|
114
110
|
setExecutionDetails,
|
|
115
|
-
setIntegrationsDetails,
|
|
111
|
+
//setIntegrationsDetails,
|
|
116
112
|
setSuiteDetails,
|
|
117
113
|
setTestDataDetails
|
|
118
114
|
};
|