@wdio/browserstack-service 8.48.0 → 8.49.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/build/Percy/Percy-Handler.js +1 -0
- package/build/Percy/Percy-Handler.js.map +1 -0
- package/build/Percy/Percy.js +1 -0
- package/build/Percy/Percy.js.map +1 -0
- package/build/Percy/PercyBinary.js +1 -0
- package/build/Percy/PercyBinary.js.map +1 -0
- package/build/Percy/PercyCaptureMap.js +1 -0
- package/build/Percy/PercyCaptureMap.js.map +1 -0
- package/build/Percy/PercyHelper.d.ts.map +1 -1
- package/build/Percy/PercyHelper.js +1 -0
- package/build/Percy/PercyHelper.js.map +1 -0
- package/build/Percy/PercyLogger.js +1 -0
- package/build/Percy/PercyLogger.js.map +1 -0
- package/build/Percy/PercySDK.js +1 -0
- package/build/Percy/PercySDK.js.map +1 -0
- package/build/accessibility-handler.d.ts +1 -1
- package/build/accessibility-handler.d.ts.map +1 -1
- package/build/accessibility-handler.js +14 -11
- package/build/accessibility-handler.js.map +1 -0
- package/build/ai-handler.d.ts.map +1 -1
- package/build/ai-handler.js +12 -0
- package/build/ai-handler.js.map +1 -0
- package/build/bstackLogger.js +1 -0
- package/build/bstackLogger.js.map +1 -0
- package/build/cleanup.js +1 -0
- package/build/cleanup.js.map +1 -0
- package/build/cli/apiUtils.js +1 -0
- package/build/cli/apiUtils.js.map +1 -0
- package/build/cli/cliLogger.d.ts +1 -0
- package/build/cli/cliLogger.d.ts.map +1 -1
- package/build/cli/cliLogger.js +24 -12
- package/build/cli/cliLogger.js.map +1 -0
- package/build/cli/cliUtils.d.ts +18 -0
- package/build/cli/cliUtils.d.ts.map +1 -1
- package/build/cli/cliUtils.js +30 -0
- package/build/cli/cliUtils.js.map +1 -0
- package/build/cli/eventDispatcher.js +1 -0
- package/build/cli/eventDispatcher.js.map +1 -0
- package/build/cli/frameworks/automationFramework.js +1 -0
- package/build/cli/frameworks/automationFramework.js.map +1 -0
- package/build/cli/frameworks/constants/automationFrameworkConstants.js +1 -0
- package/build/cli/frameworks/constants/automationFrameworkConstants.js.map +1 -0
- package/build/cli/frameworks/constants/testFrameworkConstants.js +1 -0
- package/build/cli/frameworks/constants/testFrameworkConstants.js.map +1 -0
- package/build/cli/frameworks/testFramework.js +1 -0
- package/build/cli/frameworks/testFramework.js.map +1 -0
- package/build/cli/frameworks/wdioAutomationFramework.js +1 -0
- package/build/cli/frameworks/wdioAutomationFramework.js.map +1 -0
- package/build/cli/frameworks/wdioMochaTestFramework.d.ts.map +1 -1
- package/build/cli/frameworks/wdioMochaTestFramework.js +5 -2
- package/build/cli/frameworks/wdioMochaTestFramework.js.map +1 -0
- package/build/cli/grpcClient.d.ts +21 -5
- package/build/cli/grpcClient.d.ts.map +1 -1
- package/build/cli/grpcClient.js +135 -22
- package/build/cli/grpcClient.js.map +1 -0
- package/build/cli/index.d.ts +3 -1
- package/build/cli/index.d.ts.map +1 -1
- package/build/cli/index.js +53 -4
- package/build/cli/index.js.map +1 -0
- package/build/cli/instances/automationFrameworkInstance.js +1 -0
- package/build/cli/instances/automationFrameworkInstance.js.map +1 -0
- package/build/cli/instances/testFrameworkInstance.js +1 -0
- package/build/cli/instances/testFrameworkInstance.js.map +1 -0
- package/build/cli/instances/trackedContext.js +1 -0
- package/build/cli/instances/trackedContext.js.map +1 -0
- package/build/cli/instances/trackedInstance.js +1 -0
- package/build/cli/instances/trackedInstance.js.map +1 -0
- package/build/cli/modules/accessibilityModule.d.ts +4 -1
- package/build/cli/modules/accessibilityModule.d.ts.map +1 -1
- package/build/cli/modules/accessibilityModule.js +76 -10
- package/build/cli/modules/accessibilityModule.js.map +1 -0
- package/build/cli/modules/automateModule.js +1 -0
- package/build/cli/modules/automateModule.js.map +1 -0
- package/build/cli/modules/baseModule.js +1 -0
- package/build/cli/modules/baseModule.js.map +1 -0
- package/build/cli/modules/observabilityModule.js +1 -0
- package/build/cli/modules/observabilityModule.js.map +1 -0
- package/build/cli/modules/percyModule.js +1 -0
- package/build/cli/modules/percyModule.js.map +1 -0
- package/build/cli/modules/testHubModule.js +1 -0
- package/build/cli/modules/testHubModule.js.map +1 -0
- package/build/cli/modules/webdriverIOModule.js +1 -0
- package/build/cli/modules/webdriverIOModule.js.map +1 -0
- package/build/cli/states/automationFrameworkState.d.ts.map +1 -1
- package/build/cli/states/automationFrameworkState.js +1 -0
- package/build/cli/states/automationFrameworkState.js.map +1 -0
- package/build/cli/states/hookState.d.ts.map +1 -1
- package/build/cli/states/hookState.js +1 -0
- package/build/cli/states/hookState.js.map +1 -0
- package/build/cli/states/testFrameworkState.d.ts.map +1 -1
- package/build/cli/states/testFrameworkState.js +1 -0
- package/build/cli/states/testFrameworkState.js.map +1 -0
- package/build/config.js +1 -0
- package/build/config.js.map +1 -0
- package/build/constants.d.ts +28 -0
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +38 -1
- package/build/constants.js.map +1 -0
- package/build/crash-reporter.js +1 -0
- package/build/crash-reporter.js.map +1 -0
- package/build/cucumber-types.js +1 -0
- package/build/cucumber-types.js.map +1 -0
- package/build/data-store.js +1 -0
- package/build/data-store.js.map +1 -0
- package/build/exitHandler.d.ts +1 -1
- package/build/exitHandler.d.ts.map +1 -1
- package/build/exitHandler.js +7 -5
- package/build/exitHandler.js.map +1 -0
- package/build/fileStream.js +1 -0
- package/build/fileStream.js.map +1 -0
- package/build/grpc/generated/sdk-messages-accessibility.d.ts +76 -0
- package/build/grpc/generated/sdk-messages-accessibility.d.ts.map +1 -0
- package/build/grpc/generated/sdk-messages-accessibility.js +908 -0
- package/build/grpc/generated/sdk-messages-accessibility.js.map +1 -0
- package/build/grpc/generated/sdk-messages-ai.d.ts +52 -0
- package/build/grpc/generated/sdk-messages-ai.d.ts.map +1 -0
- package/build/grpc/generated/sdk-messages-ai.js +643 -0
- package/build/grpc/generated/sdk-messages-ai.js.map +1 -0
- package/build/grpc/generated/sdk-messages-observability.d.ts +44 -0
- package/build/grpc/generated/sdk-messages-observability.d.ts.map +1 -0
- package/build/grpc/generated/sdk-messages-observability.js +505 -0
- package/build/grpc/generated/sdk-messages-observability.js.map +1 -0
- package/build/grpc/generated/sdk-messages-percy.d.ts +16 -0
- package/build/grpc/generated/sdk-messages-percy.d.ts.map +1 -0
- package/build/grpc/generated/sdk-messages-percy.js +111 -0
- package/build/grpc/generated/sdk-messages-percy.js.map +1 -0
- package/build/grpc/generated/sdk-messages-testhub.d.ts +16 -0
- package/build/grpc/generated/sdk-messages-testhub.d.ts.map +1 -0
- package/build/grpc/generated/sdk-messages-testhub.js +132 -0
- package/build/grpc/generated/sdk-messages-testhub.js.map +1 -0
- package/build/grpc/generated/sdk-messages.d.ts +288 -0
- package/build/grpc/generated/sdk-messages.d.ts.map +1 -0
- package/build/grpc/generated/sdk-messages.js +3958 -0
- package/build/grpc/generated/sdk-messages.js.map +1 -0
- package/build/grpc/generated/sdk.d.ts +282 -0
- package/build/grpc/generated/sdk.d.ts.map +1 -0
- package/build/grpc/generated/sdk.js +197 -0
- package/build/grpc/generated/sdk.js.map +1 -0
- package/build/grpc/index.d.ts +43 -0
- package/build/grpc/index.d.ts.map +1 -0
- package/build/grpc/index.js +154 -0
- package/build/grpc/index.js.map +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -0
- package/build/insights-handler.d.ts.map +1 -1
- package/build/insights-handler.js +38 -8
- package/build/insights-handler.js.map +1 -0
- package/build/instrumentation/funnelInstrumentation.d.ts +2 -2
- package/build/instrumentation/funnelInstrumentation.d.ts.map +1 -1
- package/build/instrumentation/funnelInstrumentation.js +31 -8
- package/build/instrumentation/funnelInstrumentation.js.map +1 -0
- package/build/instrumentation/performance/constants.d.ts +64 -0
- package/build/instrumentation/performance/constants.d.ts.map +1 -1
- package/build/instrumentation/performance/constants.js +74 -2
- package/build/instrumentation/performance/constants.js.map +1 -0
- package/build/instrumentation/performance/performance-tester.d.ts +11 -0
- package/build/instrumentation/performance/performance-tester.d.ts.map +1 -1
- package/build/instrumentation/performance/performance-tester.js +136 -15
- package/build/instrumentation/performance/performance-tester.js.map +1 -0
- package/build/launcher.d.ts +1 -0
- package/build/launcher.d.ts.map +1 -1
- package/build/launcher.js +152 -6
- package/build/launcher.js.map +1 -0
- package/build/log4jsAppender.d.ts.map +1 -1
- package/build/log4jsAppender.js +1 -0
- package/build/log4jsAppender.js.map +1 -0
- package/build/logPatcher.d.ts.map +1 -1
- package/build/logPatcher.js +1 -0
- package/build/logPatcher.js.map +1 -0
- package/build/logReportingAPI.d.ts.map +1 -1
- package/build/logReportingAPI.js +1 -0
- package/build/logReportingAPI.js.map +1 -0
- package/build/reporter.js +1 -0
- package/build/reporter.js.map +1 -0
- package/build/request-handler.d.ts.map +1 -1
- package/build/request-handler.js +4 -0
- package/build/request-handler.js.map +1 -0
- package/build/scripts/accessibility-scripts.js +1 -0
- package/build/scripts/accessibility-scripts.js.map +1 -0
- package/build/service.d.ts.map +1 -1
- package/build/service.js +78 -5
- package/build/service.js.map +1 -0
- package/build/testHub/utils.d.ts.map +1 -1
- package/build/testHub/utils.js +1 -0
- package/build/testHub/utils.js.map +1 -0
- package/build/testOps/featureStats.js +1 -0
- package/build/testOps/featureStats.js.map +1 -0
- package/build/testOps/featureUsage.js +1 -0
- package/build/testOps/featureUsage.js.map +1 -0
- package/build/testOps/listener.js +1 -0
- package/build/testOps/listener.js.map +1 -0
- package/build/testOps/requestUtils.js +1 -0
- package/build/testOps/requestUtils.js.map +1 -0
- package/build/testOps/testOpsConfig.js +1 -0
- package/build/testOps/testOpsConfig.js.map +1 -0
- package/build/testOps/usageStats.js +1 -0
- package/build/testOps/usageStats.js.map +1 -0
- package/build/testorchestration/apply-orchestration.d.ts +7 -0
- package/build/testorchestration/apply-orchestration.d.ts.map +1 -0
- package/build/testorchestration/apply-orchestration.js +43 -0
- package/build/testorchestration/apply-orchestration.js.map +1 -0
- package/build/testorchestration/helpers.d.ts +20 -0
- package/build/testorchestration/helpers.d.ts.map +1 -0
- package/build/testorchestration/helpers.js +413 -0
- package/build/testorchestration/helpers.js.map +1 -0
- package/build/testorchestration/request-utils.d.ts +23 -0
- package/build/testorchestration/request-utils.d.ts.map +1 -0
- package/build/testorchestration/request-utils.js +82 -0
- package/build/testorchestration/request-utils.js.map +1 -0
- package/build/testorchestration/test-ordering-server.d.ts +33 -0
- package/build/testorchestration/test-ordering-server.d.ts.map +1 -0
- package/build/testorchestration/test-ordering-server.js +169 -0
- package/build/testorchestration/test-ordering-server.js.map +1 -0
- package/build/testorchestration/testorcherstrationhandler.d.ts +50 -0
- package/build/testorchestration/testorcherstrationhandler.d.ts.map +1 -0
- package/build/testorchestration/testorcherstrationhandler.js +134 -0
- package/build/testorchestration/testorcherstrationhandler.js.map +1 -0
- package/build/testorchestration/testorcherstrationutils.d.ts +86 -0
- package/build/testorchestration/testorcherstrationutils.d.ts.map +1 -0
- package/build/testorchestration/testorcherstrationutils.js +380 -0
- package/build/testorchestration/testorcherstrationutils.js.map +1 -0
- package/build/types.d.ts +21 -0
- package/build/types.d.ts.map +1 -1
- package/build/types.js +1 -0
- package/build/types.js.map +1 -0
- package/build/util.d.ts +30 -1
- package/build/util.d.ts.map +1 -1
- package/build/util.js +103 -4
- package/build/util.js.map +1 -0
- package/package.json +46 -16
- package/src/proto/browserstack/sdk/v1/sdk-messages-accessibility.proto +71 -0
- package/src/proto/browserstack/sdk/v1/sdk-messages-ai.proto +48 -0
- package/src/proto/browserstack/sdk/v1/sdk-messages-observability.proto +39 -0
- package/src/proto/browserstack/sdk/v1/sdk-messages-percy.proto +10 -0
- package/src/proto/browserstack/sdk/v1/sdk-messages-testhub.proto +10 -0
- package/src/proto/browserstack/sdk/v1/sdk-messages.proto +276 -0
- package/src/proto/browserstack/sdk/v1/sdk.proto +41 -0
- package/tsconfig.prod.tsbuildinfo +0 -1
package/build/cli/grpcClient.js
CHANGED
|
@@ -3,10 +3,12 @@ import util, { promisify } from 'node:util';
|
|
|
3
3
|
import { CLIUtils } from './cliUtils.js';
|
|
4
4
|
import { SDKClient, grpcCredentials, grpcChannel, StartBinSessionRequestConstructor, StopBinSessionRequestConstructor, ConnectBinSessionRequestConstructor, TestFrameworkEventRequestConstructor, TestSessionEventRequestConstructor, ExecutionContextConstructor, LogCreatedEventRequestConstructor,
|
|
5
5
|
// eslint-disable-next-line camelcase
|
|
6
|
-
LogCreatedEventRequest_LogEntryConstructor, AutomationSessionConstructor, DriverInitRequestConstructor, FetchDriverExecuteParamsEventRequestConstructor } from '
|
|
6
|
+
LogCreatedEventRequest_LogEntryConstructor, AutomationSessionConstructor, DriverInitRequestConstructor, FetchDriverExecuteParamsEventRequestConstructor } from '../grpc/index.js';
|
|
7
7
|
import PerformanceTester from '../instrumentation/performance/performance-tester.js';
|
|
8
|
-
import
|
|
8
|
+
import * as PERFORMANCE_SDK_EVENTS from '../instrumentation/performance/constants.js';
|
|
9
9
|
import { BStackLogger } from './cliLogger.js';
|
|
10
|
+
// Increased from default 4 MB to accommodate large extension payloads
|
|
11
|
+
const GRPC_MESSAGE_LIMIT = 20 * 1024 * 1024; // 20 MB in bytes
|
|
10
12
|
/**
|
|
11
13
|
* GrpcClient - Singleton class for managing gRPC client connections
|
|
12
14
|
*
|
|
@@ -31,6 +33,16 @@ export class GrpcClient {
|
|
|
31
33
|
}
|
|
32
34
|
return GrpcClient.#instance;
|
|
33
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Helper method to get client worker ID from execution context or current context.
|
|
38
|
+
* This provides a consistent way to extract worker identification across all gRPC calls.
|
|
39
|
+
*
|
|
40
|
+
* @param executionContext - Optional execution context with threadId and processId
|
|
41
|
+
* @returns Worker ID string in format "threadId-processId"
|
|
42
|
+
*/
|
|
43
|
+
getClientWorkerIdFromContext(executionContext) {
|
|
44
|
+
return CLIUtils.getClientWorkerId(executionContext);
|
|
45
|
+
}
|
|
34
46
|
/**
|
|
35
47
|
* Initialize the gRPC client connection
|
|
36
48
|
* @param {string} host The gRPC server host
|
|
@@ -63,16 +75,19 @@ export class GrpcClient {
|
|
|
63
75
|
if (!listenAddress) {
|
|
64
76
|
throw new Error('Unable to determine gRPC server listen address');
|
|
65
77
|
}
|
|
78
|
+
const channelOptions = {
|
|
79
|
+
'grpc.keepalive_time_ms': 10000,
|
|
80
|
+
'grpc.max_send_message_length': GRPC_MESSAGE_LIMIT,
|
|
81
|
+
'grpc.max_receive_message_length': GRPC_MESSAGE_LIMIT,
|
|
82
|
+
};
|
|
66
83
|
// Create a channel
|
|
67
|
-
this.channel = new grpcChannel(listenAddress, grpcCredentials.createInsecure(),
|
|
68
|
-
'grpc.keepalive_time_ms': 10000
|
|
69
|
-
});
|
|
84
|
+
this.channel = new grpcChannel(listenAddress, grpcCredentials.createInsecure(), channelOptions);
|
|
70
85
|
// Create a client using the channel
|
|
71
|
-
this.client = new SDKClient(listenAddress, grpcCredentials.createInsecure(),
|
|
86
|
+
this.client = new SDKClient(listenAddress, grpcCredentials.createInsecure(), channelOptions);
|
|
72
87
|
this.logger.info(`Connected to gRPC server at ${listenAddress}`);
|
|
73
88
|
}
|
|
74
89
|
async startBinSession(wdioConfig) {
|
|
75
|
-
PerformanceTester.start(
|
|
90
|
+
PerformanceTester.start(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_START_BIN_SESSION);
|
|
76
91
|
this.logger.debug('startBinSession: Calling startBinSession');
|
|
77
92
|
try {
|
|
78
93
|
if (!this.client) {
|
|
@@ -86,6 +101,7 @@ export class GrpcClient {
|
|
|
86
101
|
...testFrameworkDetail.version
|
|
87
102
|
};
|
|
88
103
|
// Create StartBinSessionRequest
|
|
104
|
+
const clientWorkerId = CLIUtils.getClientWorkerId();
|
|
89
105
|
const request = StartBinSessionRequestConstructor.create({
|
|
90
106
|
binSessionId: this.binSessionId,
|
|
91
107
|
sdkLanguage: CLIUtils.getSdkLanguage(),
|
|
@@ -99,22 +115,25 @@ export class GrpcClient {
|
|
|
99
115
|
testFramework: testFrameworkDetail.name,
|
|
100
116
|
wdioConfig: wdioConfig,
|
|
101
117
|
});
|
|
118
|
+
request.clientWorkerId = clientWorkerId;
|
|
119
|
+
request.platformIndex = '0'; // Default platform index for main process
|
|
120
|
+
this.logger.debug(`StartBinSession with clientWorkerId: ${clientWorkerId}, platformIndex: 0`);
|
|
102
121
|
const startBinSessionPromise = promisify(this.client.startBinSession).bind(this.client);
|
|
103
122
|
try {
|
|
104
123
|
const response = await startBinSessionPromise(request);
|
|
105
124
|
this.logger.info('StartBinSession successful');
|
|
106
|
-
PerformanceTester.end(
|
|
125
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_START_BIN_SESSION);
|
|
107
126
|
return response;
|
|
108
127
|
}
|
|
109
128
|
catch (error) {
|
|
110
129
|
this.logger.error(`StartBinSession error: ${util.format(error)}`);
|
|
111
|
-
PerformanceTester.end(
|
|
130
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_START_BIN_SESSION, false, util.format(error));
|
|
112
131
|
throw error;
|
|
113
132
|
}
|
|
114
133
|
}
|
|
115
134
|
catch (error) {
|
|
116
135
|
this.logger.error(`Error in startBinSession: ${util.format(error)}`);
|
|
117
|
-
PerformanceTester.end(
|
|
136
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_START_BIN_SESSION, false, util.format(error));
|
|
118
137
|
throw error;
|
|
119
138
|
}
|
|
120
139
|
}
|
|
@@ -123,31 +142,34 @@ export class GrpcClient {
|
|
|
123
142
|
* @returns {Promise<Object>} The response from the gRPC call
|
|
124
143
|
*/
|
|
125
144
|
async connectBinSession() {
|
|
126
|
-
PerformanceTester.start(
|
|
145
|
+
PerformanceTester.start(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CONNECT_BIN_SESSION);
|
|
127
146
|
this.logger.debug('Connecting bin session');
|
|
128
147
|
try {
|
|
129
148
|
if (!this.client) {
|
|
130
149
|
this.logger.info('No gRPC client not initialized.');
|
|
131
150
|
}
|
|
151
|
+
const clientWorkerId = CLIUtils.getClientWorkerId();
|
|
132
152
|
const request = ConnectBinSessionRequestConstructor.create({
|
|
133
153
|
binSessionId: this.binSessionId,
|
|
134
154
|
});
|
|
155
|
+
request.clientWorkerId = clientWorkerId;
|
|
156
|
+
this.logger.debug(`ConnectBinSession with clientWorkerId: ${clientWorkerId}`);
|
|
135
157
|
const connectBinSessionPromise = promisify(this.client.connectBinSession).bind(this.client);
|
|
136
158
|
try {
|
|
137
159
|
const response = await connectBinSessionPromise(request);
|
|
138
160
|
this.logger.info('ConnectBinSession successful');
|
|
139
|
-
PerformanceTester.end(
|
|
161
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CONNECT_BIN_SESSION);
|
|
140
162
|
return response;
|
|
141
163
|
}
|
|
142
164
|
catch (error) {
|
|
143
165
|
const errorMessage = util.format(error);
|
|
144
166
|
this.logger.error(`ConnectBinSession error: ${errorMessage}`);
|
|
145
|
-
PerformanceTester.end(
|
|
167
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CONNECT_BIN_SESSION, false, errorMessage);
|
|
146
168
|
throw error;
|
|
147
169
|
}
|
|
148
170
|
}
|
|
149
171
|
catch (error) {
|
|
150
|
-
PerformanceTester.end(
|
|
172
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CONNECT_BIN_SESSION, false, util.format(error));
|
|
151
173
|
this.logger.error(`Error in connectBinSession: ${util.format(error)}`);
|
|
152
174
|
throw error;
|
|
153
175
|
}
|
|
@@ -158,7 +180,7 @@ export class GrpcClient {
|
|
|
158
180
|
* @private
|
|
159
181
|
*/
|
|
160
182
|
async stopBinSession() {
|
|
161
|
-
PerformanceTester.start(
|
|
183
|
+
PerformanceTester.start(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CLI_ON_STOP);
|
|
162
184
|
this.logger.debug('Stopping bin session');
|
|
163
185
|
try {
|
|
164
186
|
if (!this.binSessionId) {
|
|
@@ -167,34 +189,41 @@ export class GrpcClient {
|
|
|
167
189
|
if (!this.client) {
|
|
168
190
|
this.logger.info('No gRPC client not initialized.');
|
|
169
191
|
}
|
|
192
|
+
const clientWorkerId = CLIUtils.getClientWorkerId();
|
|
170
193
|
const request = StopBinSessionRequestConstructor.create({
|
|
171
194
|
binSessionId: this.binSessionId
|
|
172
195
|
});
|
|
196
|
+
request.clientWorkerId = clientWorkerId;
|
|
197
|
+
this.logger.debug(`StopBinSession with clientWorkerId: ${clientWorkerId}`);
|
|
173
198
|
// Get response from gRPC call
|
|
174
199
|
const stopBinSessionPromise = promisify(this.client.stopBinSession).bind(this.client);
|
|
175
200
|
try {
|
|
176
201
|
const response = await stopBinSessionPromise(request);
|
|
177
202
|
this.logger.info('StopBinSession successful');
|
|
178
|
-
PerformanceTester.end(
|
|
203
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CLI_ON_STOP);
|
|
179
204
|
return response;
|
|
180
205
|
}
|
|
181
206
|
catch (error) {
|
|
182
207
|
const errorMessage = util.format(error);
|
|
183
208
|
this.logger.error(`StopBinSession error: ${errorMessage}`);
|
|
184
|
-
PerformanceTester.end(
|
|
209
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CLI_ON_STOP, false, errorMessage);
|
|
185
210
|
throw error;
|
|
186
211
|
}
|
|
187
212
|
}
|
|
188
213
|
catch (error) {
|
|
189
|
-
PerformanceTester.end(
|
|
214
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CLI_ON_STOP, false, util.format(error));
|
|
190
215
|
this.logger.error(`Error in stopBinSession: ${util.format(error)}`);
|
|
191
216
|
}
|
|
192
217
|
}
|
|
193
218
|
async testSessionEvent(data) {
|
|
194
|
-
|
|
219
|
+
PerformanceTester.start(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION);
|
|
220
|
+
const workerId = this.getClientWorkerIdFromContext(data.executionContext);
|
|
221
|
+
this.logger.info(`Sending TestSessionEvent for worker: ${workerId}`);
|
|
195
222
|
try {
|
|
196
223
|
if (!this.client) {
|
|
197
224
|
this.logger.info('No gRPC client not initialized.');
|
|
225
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION, false, 'gRPC client not initialized');
|
|
226
|
+
return;
|
|
198
227
|
}
|
|
199
228
|
const { platformIndex, testFrameworkName, testFrameworkVersion, testFrameworkState, testHookState, testUuid, automationSessions, capabilities, executionContext } = data;
|
|
200
229
|
const sessions = automationSessions.map((automationSession) => {
|
|
@@ -224,20 +253,24 @@ export class GrpcClient {
|
|
|
224
253
|
automationSessions: sessions,
|
|
225
254
|
executionContext: executionContextBuilder,
|
|
226
255
|
});
|
|
256
|
+
request.clientWorkerId = workerId;
|
|
227
257
|
const testSessionEventPromise = promisify(this.client.testSessionEvent).bind(this.client);
|
|
228
258
|
try {
|
|
229
259
|
const response = await testSessionEventPromise(request);
|
|
230
|
-
this.logger.info(
|
|
260
|
+
this.logger.info(`testSessionEvent successful for worker: ${workerId}`);
|
|
261
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION);
|
|
231
262
|
return response;
|
|
232
263
|
}
|
|
233
264
|
catch (error) {
|
|
234
265
|
const errorMessage = util.format(error);
|
|
235
266
|
this.logger.error(`testSessionEvent error: ${errorMessage}`);
|
|
267
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION, false, errorMessage);
|
|
236
268
|
throw error;
|
|
237
269
|
}
|
|
238
270
|
}
|
|
239
271
|
catch (error) {
|
|
240
272
|
this.logger.error(`Error in TestSessionEvent: ${util.format(error)}`);
|
|
273
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION, false, util.format(error));
|
|
241
274
|
throw error;
|
|
242
275
|
}
|
|
243
276
|
}
|
|
@@ -246,10 +279,16 @@ export class GrpcClient {
|
|
|
246
279
|
* Send TestFrameworkEvent
|
|
247
280
|
*/
|
|
248
281
|
async testFrameworkEvent(data) {
|
|
249
|
-
|
|
282
|
+
// Generate unique event ID per call to avoid timing conflicts
|
|
283
|
+
const uniqueEventId = `${PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_FRAMEWORK}-${Date.now()}-${Math.random().toString(36).substring(7)}`;
|
|
284
|
+
PerformanceTester.start(uniqueEventId);
|
|
285
|
+
const workerId = this.getClientWorkerIdFromContext(data.executionContext);
|
|
286
|
+
this.logger.info(`Sending TestFrameworkEvent for worker: ${workerId}`);
|
|
250
287
|
try {
|
|
251
288
|
if (!this.client) {
|
|
252
289
|
this.logger.info('No gRPC client not initialized.');
|
|
290
|
+
PerformanceTester.end(uniqueEventId, false, 'gRPC client not initialized');
|
|
291
|
+
return;
|
|
253
292
|
}
|
|
254
293
|
const { platformIndex, testFrameworkName, testFrameworkVersion, testFrameworkState, testHookState, startedAt, endedAt, uuid, eventJson, executionContext } = data;
|
|
255
294
|
const executionContextBuilder = ExecutionContextConstructor.create({
|
|
@@ -270,20 +309,30 @@ export class GrpcClient {
|
|
|
270
309
|
eventJson: eventJson,
|
|
271
310
|
executionContext: executionContextBuilder,
|
|
272
311
|
});
|
|
312
|
+
request.clientWorkerId = workerId;
|
|
273
313
|
const testFrameworkEventPromise = promisify(this.client.testFrameworkEvent).bind(this.client);
|
|
274
314
|
try {
|
|
275
315
|
const response = await testFrameworkEventPromise(request);
|
|
276
|
-
this.logger.info(
|
|
316
|
+
this.logger.info(`testFrameworkEvent successful for worker: ${workerId}`);
|
|
317
|
+
// End with additional context for debugging
|
|
318
|
+
PerformanceTester.end(uniqueEventId, true, undefined, {
|
|
319
|
+
testState: testFrameworkState,
|
|
320
|
+
hookState: testHookState,
|
|
321
|
+
uuid: uuid,
|
|
322
|
+
worker: workerId
|
|
323
|
+
});
|
|
277
324
|
return response;
|
|
278
325
|
}
|
|
279
326
|
catch (error) {
|
|
280
327
|
const errorMessage = util.format(error);
|
|
281
328
|
this.logger.error(`testFrameworkEvent error: ${errorMessage}`);
|
|
329
|
+
PerformanceTester.end(uniqueEventId, false, errorMessage);
|
|
282
330
|
throw error;
|
|
283
331
|
}
|
|
284
332
|
}
|
|
285
333
|
catch (error) {
|
|
286
334
|
this.logger.error(`Error in TestFrameworkEvent: ${util.format(error)}`);
|
|
335
|
+
PerformanceTester.end(uniqueEventId, false, util.format(error));
|
|
287
336
|
throw error;
|
|
288
337
|
}
|
|
289
338
|
}
|
|
@@ -298,12 +347,16 @@ export class GrpcClient {
|
|
|
298
347
|
this.logger.info('No gRPC client not initialized.');
|
|
299
348
|
}
|
|
300
349
|
const { platformIndex, ref, userInputParams } = data;
|
|
350
|
+
const clientWorkerId = CLIUtils.getClientWorkerId();
|
|
301
351
|
const request = DriverInitRequestConstructor.create({
|
|
302
352
|
binSessionId: this.binSessionId,
|
|
303
353
|
platformIndex: platformIndex,
|
|
304
354
|
ref: ref,
|
|
305
355
|
userInputParams: userInputParams,
|
|
306
356
|
});
|
|
357
|
+
// Add clientWorkerId to request (proto field 500)
|
|
358
|
+
request.clientWorkerId = clientWorkerId;
|
|
359
|
+
this.logger.debug(`DriverInitEvent with clientWorkerId: ${clientWorkerId}`);
|
|
307
360
|
const driverInitEventPromise = promisify(this.client.driverInit).bind(this.client);
|
|
308
361
|
try {
|
|
309
362
|
const response = await driverInitEventPromise(request);
|
|
@@ -322,12 +375,16 @@ export class GrpcClient {
|
|
|
322
375
|
}
|
|
323
376
|
}
|
|
324
377
|
async logCreatedEvent(data) {
|
|
378
|
+
PerformanceTester.start(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED);
|
|
325
379
|
this.logger.info('Sending LogCreatedEvent');
|
|
326
380
|
try {
|
|
327
381
|
if (!this.client) {
|
|
328
382
|
this.logger.info('No gRPC client not initialized.');
|
|
383
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED, false, 'gRPC client not initialized');
|
|
384
|
+
return;
|
|
329
385
|
}
|
|
330
386
|
const { platformIndex, logs, executionContext } = data;
|
|
387
|
+
const clientWorkerId = this.getClientWorkerIdFromContext(executionContext);
|
|
331
388
|
const executionContextBuilder = ExecutionContextConstructor.create({
|
|
332
389
|
processId: executionContext?.processId,
|
|
333
390
|
threadId: executionContext?.threadId,
|
|
@@ -355,21 +412,26 @@ export class GrpcClient {
|
|
|
355
412
|
logs: logEntries,
|
|
356
413
|
executionContext: executionContextBuilder,
|
|
357
414
|
});
|
|
415
|
+
request.clientWorkerId = clientWorkerId;
|
|
416
|
+
this.logger.debug(`LogCreatedEvent with clientWorkerId: ${clientWorkerId}`);
|
|
358
417
|
const logCreatedEventPromise = promisify(this.client.logCreatedEvent).bind(this.client);
|
|
359
418
|
try {
|
|
360
419
|
this.logger.debug('logCreatedEvent payload:' + JSON.stringify(request));
|
|
361
420
|
const response = await logCreatedEventPromise(request);
|
|
362
421
|
this.logger.info('logCreatedEvent successful');
|
|
422
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED);
|
|
363
423
|
return response;
|
|
364
424
|
}
|
|
365
425
|
catch (error) {
|
|
366
426
|
const errorMessage = util.format(error);
|
|
367
427
|
this.logger.error(`logCreatedEvent error: ${errorMessage}`);
|
|
428
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED, false, errorMessage);
|
|
368
429
|
throw error;
|
|
369
430
|
}
|
|
370
431
|
}
|
|
371
432
|
catch (error) {
|
|
372
433
|
this.logger.error(`Error in LogCreatedEvent: ${util.format(error)}`);
|
|
434
|
+
PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED, false, util.format(error));
|
|
373
435
|
throw error;
|
|
374
436
|
}
|
|
375
437
|
}
|
|
@@ -380,11 +442,16 @@ export class GrpcClient {
|
|
|
380
442
|
this.logger.info('No gRPC client not initialized.');
|
|
381
443
|
}
|
|
382
444
|
const { product, scriptName } = data;
|
|
445
|
+
const platformIndex = data.platformIndex || '0'; // Extract platformIndex if provided
|
|
446
|
+
const clientWorkerId = CLIUtils.getClientWorkerId();
|
|
383
447
|
const request = FetchDriverExecuteParamsEventRequestConstructor.create({
|
|
384
448
|
binSessionId: this.binSessionId,
|
|
385
449
|
product: product,
|
|
386
450
|
scriptName: scriptName,
|
|
387
451
|
});
|
|
452
|
+
request.clientWorkerId = clientWorkerId;
|
|
453
|
+
request.platformIndex = platformIndex;
|
|
454
|
+
this.logger.debug(`FetchDriverExecuteParamsEvent with clientWorkerId: ${clientWorkerId}, platformIndex: ${platformIndex}`);
|
|
388
455
|
const fetchDriverExecuteParamsEventPromise = promisify(this.client.fetchDriverExecuteParamsEvent).bind(this.client);
|
|
389
456
|
try {
|
|
390
457
|
const response = await fetchDriverExecuteParamsEventPromise(request);
|
|
@@ -402,6 +469,51 @@ export class GrpcClient {
|
|
|
402
469
|
throw error;
|
|
403
470
|
}
|
|
404
471
|
}
|
|
472
|
+
/**
|
|
473
|
+
* Send TestOrchestration request to get ordered test files
|
|
474
|
+
* @param {string[]} testFiles - Array of test file paths
|
|
475
|
+
* @param {string} orchestrationStrategy - The orchestration strategy to use
|
|
476
|
+
* @param {string} orchestrationMetadata - Additional metadata for orchestration
|
|
477
|
+
* @returns {Promise<string[]|null>} Array of ordered test files or null if failed
|
|
478
|
+
*/
|
|
479
|
+
async testOrchestrationSession(testFiles, orchestrationStrategy, orchestrationMetadata) {
|
|
480
|
+
try {
|
|
481
|
+
if (!this.client) {
|
|
482
|
+
this.logger.error('gRPC client is not initialized. Cannot perform test orchestration.');
|
|
483
|
+
return null;
|
|
484
|
+
}
|
|
485
|
+
if (!this.binSessionId) {
|
|
486
|
+
this.logger.error('binSessionId is not available. Cannot perform test orchestration.');
|
|
487
|
+
return null;
|
|
488
|
+
}
|
|
489
|
+
// Create TestOrchestrationRequest
|
|
490
|
+
const request = {
|
|
491
|
+
binSessionId: this.binSessionId,
|
|
492
|
+
orchestrationStrategy: orchestrationStrategy,
|
|
493
|
+
testFiles: testFiles,
|
|
494
|
+
orchestrationMetadata: orchestrationMetadata
|
|
495
|
+
};
|
|
496
|
+
const testOrchestrationPromise = promisify(this.client.testOrchestration).bind(this.client);
|
|
497
|
+
try {
|
|
498
|
+
const response = await testOrchestrationPromise(request);
|
|
499
|
+
this.logger.debug(`test-orchestration-session=${JSON.stringify(response)}`);
|
|
500
|
+
if (response.success) {
|
|
501
|
+
return Array.from(response.orderedTestFiles || []);
|
|
502
|
+
}
|
|
503
|
+
this.logger.warn('Test orchestration was not successful');
|
|
504
|
+
return null;
|
|
505
|
+
}
|
|
506
|
+
catch (error) {
|
|
507
|
+
const errorMessage = util.format(error);
|
|
508
|
+
this.logger.error(`TestOrchestration error: ${errorMessage}`);
|
|
509
|
+
throw error;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
catch (error) {
|
|
513
|
+
this.logger.error(`Error in testOrchestrationSession: ${util.format(error)}`);
|
|
514
|
+
return null;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
405
517
|
/**
|
|
406
518
|
* Get the gRPC channel
|
|
407
519
|
* @returns {grpc.Channel} The gRPC channel
|
|
@@ -417,3 +529,4 @@ export class GrpcClient {
|
|
|
417
529
|
return this.channel;
|
|
418
530
|
}
|
|
419
531
|
}
|
|
532
|
+
//# sourceMappingURL=grpcClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grpcClient.js","sourceRoot":"","sources":["../../src/cli/grpcClient.ts"],"names":[],"mappings":"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"}
|
package/build/cli/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BStackLogger } from './cliLogger.js';
|
|
2
2
|
import type { ChildProcess } from 'node:child_process';
|
|
3
|
-
import type { StartBinSessionResponse } from '
|
|
3
|
+
import type { StartBinSessionResponse } from '../grpc/index.js';
|
|
4
4
|
import type BaseModule from './modules/baseModule.js';
|
|
5
5
|
import type { Options } from '@wdio/types';
|
|
6
6
|
import WdioMochaTestFramework from './frameworks/wdioMochaTestFramework.js';
|
|
@@ -53,6 +53,8 @@ export declare class BrowserstackCLI {
|
|
|
53
53
|
* @param {Object} startBinResponse - StartBinSession response
|
|
54
54
|
*/
|
|
55
55
|
loadModules(startBinResponse: StartBinSessionResponse): void;
|
|
56
|
+
private logBuildStartErrors;
|
|
57
|
+
private parseBuildStartErrors;
|
|
56
58
|
/**
|
|
57
59
|
* Configure modules
|
|
58
60
|
* @returns {Promise<void>}
|
package/build/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAK7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAK7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAA;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,sBAAsB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAK7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAI1E;;;;;GAKG;AACH,qBAAa,eAAe;;IAExB,MAAM,CAAC,OAAO,UAAQ;IACtB,WAAW,EAAC,OAAO,CAAA;IACnB,MAAM,EAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAC,MAAM,CAAA;IACd,kBAAkB,EAAE,OAAO,CAAC,UAAU,GAAC,EAAE,CAAA;IACzC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAO;IACnC,eAAe,UAAQ;IACvB,gBAAgB,UAAQ;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAK;IACxC,aAAa,EAAE,sBAAsB,GAAC,IAAI,CAAO;IACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAO;IAC/C,mBAAmB,EAAE,uBAAuB,GAAC,IAAI,CAAO;IACxD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAO;IACtC,MAAM,sBAAe;IACrB,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,EAAE,CAAA;;IAWtD;;;OAGG;IACH,MAAM,CAAC,WAAW;IAOlB;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,SAAG;IA2B7G;;;OAGG;IACG,SAAS;IAWf;;;OAGG;IACH,WAAW,CAAC,gBAAgB,EAAE,uBAAuB;IAiDrD,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,qBAAqB;IA4B7B;;;OAGG;IACG,gBAAgB;IAUtB;;;;OAIG;IACG,KAAK;IAkEX;;;OAGG;IACG,IAAI;IA8CV;;;;OAIG;IACG,kBAAkB;IASxB;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAM5C;;;;OAIG;IACG,UAAU,CAAC,YAAY,EAAE,MAAM;IAgBrC;;;OAGG;IACH,SAAS;IAWT;;;OAGG;IACH,qBAAqB;IAIrB;;;;OAIG;IACH,qBAAqB,CAAC,kBAAkB,EAAC,OAAO,CAAC,UAAU;IAI3D;;;OAGG;IACG,aAAa;IAOnB;;;OAGG;IACH,YAAY;IAIZ;;;OAGG;IACH,SAAS;IAIT;;;;MAIE;IACF,SAAS,CAAC,QAAQ,EAAE,uBAAuB;IAS3C;;;OAGG;IACH,kBAAkB;IAOlB;;;OAGG;IACH,wBAAwB;IAOxB;;;OAGG;IACH,gBAAgB;IAIhB;;;OAGG;IACH,sBAAsB;CAGzB"}
|
package/build/cli/index.js
CHANGED
|
@@ -117,6 +117,7 @@ export class BrowserstackCLI {
|
|
|
117
117
|
this.modules[WebdriverIOModule.MODULE_NAME] = new WebdriverIOModule();
|
|
118
118
|
this.modules[AutomateModule.MODULE_NAME] = new AutomateModule(this.browserstackConfig);
|
|
119
119
|
if (startBinResponse.testhub) {
|
|
120
|
+
this.logBuildStartErrors(startBinResponse.testhub);
|
|
120
121
|
process.env[TESTOPS_BUILD_COMPLETED_ENV] = 'true';
|
|
121
122
|
if (startBinResponse.testhub.jwt) {
|
|
122
123
|
process.env[BROWSERSTACK_TESTHUB_JWT] = startBinResponse.testhub.jwt;
|
|
@@ -146,6 +147,57 @@ export class BrowserstackCLI {
|
|
|
146
147
|
}
|
|
147
148
|
this.configureModules();
|
|
148
149
|
}
|
|
150
|
+
logBuildStartErrors(testhub) {
|
|
151
|
+
if (process.env.WDIO_WORKER_ID) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
try {
|
|
155
|
+
const rawErrors = testhub?.errors;
|
|
156
|
+
const parsedErrors = this.parseBuildStartErrors(rawErrors);
|
|
157
|
+
for (const [errorKey, errorDetails] of Object.entries(parsedErrors)) {
|
|
158
|
+
const errorMessage = errorDetails?.message;
|
|
159
|
+
if (!errorMessage) {
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
const formattedMessage = `[Build] ${errorKey}: ${errorMessage}`;
|
|
163
|
+
if (errorDetails.type === 'info') {
|
|
164
|
+
BStackLogger.info(formattedMessage);
|
|
165
|
+
}
|
|
166
|
+
else if (errorDetails.type === 'warn') {
|
|
167
|
+
BStackLogger.warn(formattedMessage);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
BStackLogger.error(formattedMessage);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
BStackLogger.debug(`Failed to log build-start errors: ${util.format(error)}`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
parseBuildStartErrors(rawErrors) {
|
|
179
|
+
if (!rawErrors) {
|
|
180
|
+
return {};
|
|
181
|
+
}
|
|
182
|
+
try {
|
|
183
|
+
if (typeof rawErrors === 'string') {
|
|
184
|
+
return JSON.parse(rawErrors);
|
|
185
|
+
}
|
|
186
|
+
if (Buffer.isBuffer(rawErrors)) {
|
|
187
|
+
return JSON.parse(rawErrors.toString('utf8'));
|
|
188
|
+
}
|
|
189
|
+
if (rawErrors instanceof Uint8Array) {
|
|
190
|
+
return JSON.parse(Buffer.from(rawErrors).toString('utf8'));
|
|
191
|
+
}
|
|
192
|
+
if (typeof rawErrors === 'object') {
|
|
193
|
+
return rawErrors;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
BStackLogger.debug(`Failed to parse build-start errors from CLI response: ${util.format(error)}`);
|
|
198
|
+
}
|
|
199
|
+
return {};
|
|
200
|
+
}
|
|
149
201
|
/**
|
|
150
202
|
* Configure modules
|
|
151
203
|
* @returns {Promise<void>}
|
|
@@ -183,10 +235,6 @@ export class BrowserstackCLI {
|
|
|
183
235
|
this.process = spawn(cmd[0], cmd.slice(1), {
|
|
184
236
|
env: process.env
|
|
185
237
|
});
|
|
186
|
-
// Check if process started successfully
|
|
187
|
-
if (!this.process.pid) {
|
|
188
|
-
throw new Error('failed to start CLI, no PID found');
|
|
189
|
-
}
|
|
190
238
|
// Return a promise that resolves when CLI is ready
|
|
191
239
|
return new Promise((resolve, reject) => {
|
|
192
240
|
const cliOut = {};
|
|
@@ -413,3 +461,4 @@ export class BrowserstackCLI {
|
|
|
413
461
|
return this.automationFramework;
|
|
414
462
|
}
|
|
415
463
|
}
|
|
464
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automationFrameworkInstance.js","sourceRoot":"","sources":["../../../src/cli/instances/automationFrameworkInstance.ts"],"names":[],"mappings":"AAEA,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,eAAe;IACpE,aAAa,CAAQ;IACrB,gBAAgB,CAAQ;IACxB,KAAK,CAAO;IAEZ,YAAY,OAAuB,EAAE,aAAqB,EAAE,gBAAwB,EAAE,KAAY;QAC9F,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED;;;KAGC;IACD,gBAAgB;QACZ,OAAO,IAAI,CAAC,aAAa,CAAA;IAC7B,CAAC;IAED;;;KAGC;IACD,mBAAmB;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAChC,CAAC;IAED;;;KAGC;IACD,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED;;;KAGC;IACD,QAAQ,CAAC,KAAY;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testFrameworkInstance.js","sourceRoot":"","sources":["../../../src/cli/instances/testFrameworkInstance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAGlD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,eAAe;IAC9D,cAAc,CAAe;IAC7B,sBAAsB,CAAwB;IAC9C,iBAAiB,CAAO;IACxB,iBAAiB,CAAO;IACxB,cAAc,CAAO;IACrB,cAAc,CAAO;IACrB,UAAU,CAAQ;IAElB;;;;;;;KAOC;IACD,YAAY,OAAuB,EAAE,cAA6B,EAAE,sBAA8C,EAAE,kBAAyB,EAAE,SAAgB;QAC3J,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QACpD,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAA;QAC3C,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;QAClC,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAA;QAC7C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,IAAI,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,cAAc,EAAE,CAAA;IAC1C,CAAC;IAED;;;KAGC;IACD,mBAAmB;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAED;;;KAGC;IACD,mBAAmB,CAAC,gBAAuB;QACvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;IAC7C,CAAC;IAED;;;KAGC;IACD,mBAAmB;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAED;;;KAGC;IACD,mBAAmB,CAAC,gBAAuB;QACvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;IAC7C,CAAC;IAED;;;KAGC;IACD,gBAAgB;QACZ,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAED;;;KAGC;IACD,gBAAgB,CAAC,aAAoB;QACjC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;IACvC,CAAC;IAED;;;KAGC;IACD,gBAAgB;QACZ,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAED;;;KAGC;IACD,gBAAgB,CAAC,aAAoB;QACjC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;IACvC,CAAC;IAED;;;KAGC;IACD,YAAY;QACR,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;CAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackedContext.js","sourceRoot":"","sources":["../../../src/cli/instances/trackedContext.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,GAAG,CAAQ;IACX,SAAS,CAAQ;IACjB,UAAU,CAAQ;IAClB,KAAK,CAAQ;IAEb;;;;;;KAMC;IACD,YAAY,EAAU,EAAE,QAAgB,EAAE,SAAiB,EAAE,IAAY;QACrE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACrB,CAAC;IAED;;;KAGC;IACD,WAAW;QACP,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAED;;;KAGC;IACD,YAAY;QACR,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED;;;KAGC;IACD,KAAK;QACD,OAAO,IAAI,CAAC,GAAG,CAAA;IACnB,CAAC;IAED;;;KAGC;IACD,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;CAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackedInstance.js","sourceRoot":"","sources":["../../../src/cli/instances/trackedInstance.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,CAAC,OAAO,OAAO,eAAe;IAChC,QAAQ,CAAgB;IACxB,KAAK,CAAkB;IAEvB;;;KAGC;IACD,YAAY,OAAuB;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED;;;KAGC;IACD,MAAM;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;IAED;;;KAGC;IACD,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED;;;KAGC;IACD,UAAU;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED;;;;KAIC;IACD,qBAAqB,CAAC,OAA4B;QAC9C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,KAAU;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED;;;;KAIC;IACD,OAAO,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAAc;QAC/B,OAAO,IAAI,cAAc,CACrB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxD,QAAQ,IAAI,CAAC,EACb,OAAO,CAAC,GAAG,EACX,OAAM,CAAC,MAAM,CAAC,CACjB,CAAA;IACL,CAAC;CACJ"}
|