froth-webdriverio-framework 0.1.60 → 0.1.62
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.
|
@@ -34,7 +34,7 @@ async function getBSSessionDetails(sessiontype,bs_username,bs_pwd) {
|
|
|
34
34
|
|
|
35
35
|
// Accessing the public_url property
|
|
36
36
|
const publicUrl = data.automation_session.public_url;
|
|
37
|
-
|
|
37
|
+
BUFFER.setItem("BS_PUBLIC_URL",publicUrl)
|
|
38
38
|
console.log("public url : " + publicUrl);
|
|
39
39
|
// return jsondata;
|
|
40
40
|
} else if (response.status === 401) { //
|
|
@@ -61,7 +61,7 @@ async function getBSSessionDetails(sessiontype,bs_username,bs_pwd) {
|
|
|
61
61
|
//Main function to execute the API call
|
|
62
62
|
// async function main() {
|
|
63
63
|
// try {
|
|
64
|
-
//
|
|
64
|
+
// BUFFER.setItem("EXECUTION_SESSIONID","297666e2fd4195de98d7da3b359669072ff41a2a");
|
|
65
65
|
// await getBrowserstackDetails();
|
|
66
66
|
// } catch (error) {
|
|
67
67
|
// console.error('Error in main function:', error);
|
|
@@ -30,7 +30,7 @@ async function getExecuitonDetails(frothUrl, token, id) {
|
|
|
30
30
|
return jsondata;
|
|
31
31
|
} else if (response.status === 401) { // Unauthorized, token expired
|
|
32
32
|
// Call login function to obtain a new token
|
|
33
|
-
const newToken = await getLoginToken(
|
|
33
|
+
const newToken = await getLoginToken(BUFFER.getItem("SERVICE_USER"), BUFFER.getItem("SERVICE_PASSWORD")); // You need to implement the login function
|
|
34
34
|
// Retry the request with the new token
|
|
35
35
|
return getExecuitonDetails(frothUrl, newToken, id);
|
|
36
36
|
} else {
|
|
@@ -60,7 +60,7 @@ async function updateExecuitonDetails(frothUrl, token, id, resultdetails) {
|
|
|
60
60
|
const formData = new FormData();
|
|
61
61
|
formData.append('excution_status', resultdetails.excution_status);
|
|
62
62
|
formData.append('excution_time', resultdetails.excution_time);
|
|
63
|
-
formData.append('id',
|
|
63
|
+
formData.append('id', BUFFER.getItem("EXECUTION_ID"))
|
|
64
64
|
|
|
65
65
|
const response = await fetch(url, {
|
|
66
66
|
method: 'PUT',
|
|
@@ -77,7 +77,7 @@ async function updateExecuitonDetails(frothUrl, token, id, resultdetails) {
|
|
|
77
77
|
|
|
78
78
|
} else if (response.status === 401) { // Unauthorized, token expired
|
|
79
79
|
// Call login function to obtain a new token
|
|
80
|
-
const newToken = await getLoginToken(
|
|
80
|
+
const newToken = await getLoginToken(BUFFER.getItem("SERVICE_USER"), BUFFER.getItem("SERVICE_PASSWORD")); // You need to implement the login function
|
|
81
81
|
// Retry the request with the new token
|
|
82
82
|
return updateExecuitonDetails(frothUrl, newToken, id,resultdetails);
|
|
83
83
|
} else {
|
package/api/getsuiteDetails.js
CHANGED
|
@@ -29,7 +29,7 @@ async function getSuiteDetails(frothUrl, token, id) {
|
|
|
29
29
|
|
|
30
30
|
} else if (response.status === 401) { // Unauthorized, token expired
|
|
31
31
|
// Call login function to obtain a new token
|
|
32
|
-
const newToken = await getLoginToken(
|
|
32
|
+
const newToken = await getLoginToken(BUFFER.getItem("SERVICE_USER"), BUFFER.getItem("SERVICE_PASSWORD")); // You need to implement the login function
|
|
33
33
|
// Retry the request with the new token
|
|
34
34
|
return getSuiteDetails(frothUrl, newToken, id);
|
|
35
35
|
}
|
package/api/readTestdata.js
CHANGED
|
@@ -23,6 +23,7 @@ async function getDataById(frothUrl, token, id) {
|
|
|
23
23
|
// Convert the array into an object with keys as property names
|
|
24
24
|
const buffer = jsonData.reduce((obj, item) => {
|
|
25
25
|
obj[item.key] = item.value;
|
|
26
|
+
BUFFER.setItem(item.key,item.value);
|
|
26
27
|
return obj;
|
|
27
28
|
}, {});
|
|
28
29
|
// Set the buffer as an environment variable
|
|
@@ -32,7 +33,7 @@ async function getDataById(frothUrl, token, id) {
|
|
|
32
33
|
}
|
|
33
34
|
else if (response.status === 401) { // Unauthorized, token expired
|
|
34
35
|
// Call login function to obtain a new token
|
|
35
|
-
const newToken = await getLoginToken(
|
|
36
|
+
const newToken = await getLoginToken(BUFFER.getItem("SERVICE_USER"), BUFFER.getItem("SERVICE_PASSWORD")); // You need to implement the login function
|
|
36
37
|
// Retry the request with the new token
|
|
37
38
|
return getDataById(frothUrl, newToken, id);
|
|
38
39
|
}
|
package/config/commonconfig.js
CHANGED
|
@@ -3,38 +3,38 @@ const exeDetails = require("../api/getexecutionDetails")
|
|
|
3
3
|
const getLoginToken = require("../api/loginapi");
|
|
4
4
|
const getSuiteDetails = require("../api/getsuiteDetails");
|
|
5
5
|
const { LocalStorage } = require('node-localstorage');
|
|
6
|
-
global.
|
|
6
|
+
global.BUFFER = new LocalStorage('./storage');
|
|
7
7
|
const getBSSessionDetails = require("../api/browsersatckSessionInfo")
|
|
8
8
|
// Description: This file contains the common configuration for the webdriverio framework.
|
|
9
9
|
const commonconfig = {
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
onPrepare: async function (capabilities, specs) {
|
|
13
|
-
|
|
13
|
+
BUFFER.setItem("TOTAL_DURATION", 0);
|
|
14
14
|
// This code runs before the test suite starts
|
|
15
15
|
// console.log("organisation url" + process.env.organisation_url);
|
|
16
16
|
// console.log("test data id" + process.env.testdata_id);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const getToken = await getLoginToken(
|
|
17
|
+
BUFFER.setItem("EXECUTION_ID", process.env.EXECUTION_ID);
|
|
18
|
+
BUFFER.setItem("organisation_url", process.env.organisation_url);
|
|
19
|
+
BUFFER.setItem("SERVICE_USER", "subhra.subudhi@roboticodigital.com");
|
|
20
|
+
BUFFER.setItem("SERVICE_PASSWORD", "V2VsY29tZUAxMjM=");
|
|
21
|
+
BUFFER.setItem("BROWSERSTACK_USERNAME", process.env.BROWSERSTACK_USERNAME);
|
|
22
|
+
BUFFER.setItem("BROWSERSTACK_ACCESS_KEY", process.env.BROWSERSTACK_ACCESS_KEY);
|
|
23
|
+
|
|
24
|
+
const getToken = await getLoginToken(BUFFER.getItem("organisation_url"), BUFFER.getItem("SERVICE_USER"), BUFFER.getItem("SERVICE_PASSWORD"));
|
|
25
25
|
process.env.LOGIN_TOKEN = getToken;
|
|
26
|
-
|
|
26
|
+
BUFFER.setItem("LOGIN_TOKEN", getToken)
|
|
27
27
|
|
|
28
|
-
const getExeDetails = await exeDetails.getExecuitonDetails(
|
|
28
|
+
const getExeDetails = await exeDetails.getExecuitonDetails(BUFFER.getItem("organisation_url"), getToken, BUFFER.getItem("EXECUTION_ID"));
|
|
29
29
|
if (getExeDetails.automation_suite_id != null) {
|
|
30
|
-
const getSuiteDetail = await getSuiteDetails(
|
|
30
|
+
const getSuiteDetail = await getSuiteDetails(BUFFER.getItem("organisation_url"), getToken, getExeDetails.automation_suite_id);
|
|
31
31
|
if (getSuiteDetail.test_data_id != null) {
|
|
32
|
-
const jsonobject = await getDataById(
|
|
32
|
+
const jsonobject = await getDataById(BUFFER.getItem("organisation_url"), getToken, getSuiteDetail.test_data_id);
|
|
33
33
|
if (jsonobject == null) {
|
|
34
34
|
console.log("Test data is not available");
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
|
-
|
|
37
|
+
BUFFER.setItem("BUFFER", JSON.stringify(jsonobject))
|
|
38
38
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -57,8 +57,8 @@ const commonconfig = {
|
|
|
57
57
|
console.log("Running suite:", suite.title);
|
|
58
58
|
console.log("Reading test data from the API");
|
|
59
59
|
|
|
60
|
-
getBSSessionDetails("app-automate",
|
|
61
|
-
|
|
60
|
+
getBSSessionDetails("app-automate", BUFFER.getItem("BROWSERSTACK_USERNAME"),
|
|
61
|
+
BUFFER.getItem("BROWSERSTACK_ACCESS_KEY"));
|
|
62
62
|
|
|
63
63
|
} catch (e) {
|
|
64
64
|
console.log("Error in beforeSuite:", e);
|
|
@@ -94,7 +94,7 @@ const commonconfig = {
|
|
|
94
94
|
*/
|
|
95
95
|
afterTest: function (test, context, { error, result, duration, passed, retries }) {
|
|
96
96
|
console.log(`Test '${test.title}' finished.`);
|
|
97
|
-
|
|
97
|
+
BUFFER.setItem("TOTAL_DURATION", Number(BUFFER.getItem("TOTAL_DURATION")) + duration)
|
|
98
98
|
console.log(`Duration: ${duration}ms`);
|
|
99
99
|
console.log(`Passed: ${passed}`);
|
|
100
100
|
if (passed)
|
|
@@ -125,9 +125,9 @@ const commonconfig = {
|
|
|
125
125
|
|
|
126
126
|
const resultdetails = {}
|
|
127
127
|
resultdetails.excution_status = resultdata === 'Pass' ? 'PASSED' : 'FAILED'
|
|
128
|
-
resultdetails.excution_time = convertMillisecondsToTime(
|
|
129
|
-
exeDetails.updateExecuitonDetails(
|
|
130
|
-
|
|
128
|
+
resultdetails.excution_time = convertMillisecondsToTime(BUFFER.getItem("TOTAL_DURATION"))
|
|
129
|
+
exeDetails.updateExecuitonDetails(BUFFER.getItem("organisation_url"), BUFFER.getItem("LOGIN_TOKEN"), BUFFER.getItem("EXECUTION_ID"), resultdetails)
|
|
130
|
+
BUFFER.clear();
|
|
131
131
|
console.log('Local storage has been cleared.');
|
|
132
132
|
// console.log('Capabilities:');
|
|
133
133
|
// console.log(capabilities);
|
|
@@ -174,7 +174,7 @@ function convertMillisecondsToTime(msdata) {
|
|
|
174
174
|
// const duration ="31355ms";
|
|
175
175
|
// resultdetails.excution_status = resultdata === 'Pass' ? 'PASSED' : 'FAILED'
|
|
176
176
|
// resultdetails.excution_time = convertMillisecondsToTime(duration)
|
|
177
|
-
//
|
|
177
|
+
// BUFFER.setItem("EXECUTION_ID",208);
|
|
178
178
|
// await exeDetails.updateExecuitonDetails(frothUrl, token, id,resultdetails);
|
|
179
179
|
// } catch (error) {
|
|
180
180
|
// console.error('Error in main function:', error);
|