@wdio/browserstack-service 0.0.0-canary-20260722132416

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 (331) hide show
  1. package/LICENSE-MIT +20 -0
  2. package/README.md +392 -0
  3. package/browserstack-service.d.ts +43 -0
  4. package/build/Percy/Percy-Handler.d.ts +32 -0
  5. package/build/Percy/Percy-Handler.d.ts.map +1 -0
  6. package/build/Percy/Percy-Handler.js +165 -0
  7. package/build/Percy/Percy-Handler.js.map +1 -0
  8. package/build/Percy/Percy.d.ts +19 -0
  9. package/build/Percy/Percy.d.ts.map +1 -0
  10. package/build/Percy/Percy.js +164 -0
  11. package/build/Percy/Percy.js.map +1 -0
  12. package/build/Percy/PercyBinary.d.ts +10 -0
  13. package/build/Percy/PercyBinary.d.ts.map +1 -0
  14. package/build/Percy/PercyBinary.js +161 -0
  15. package/build/Percy/PercyBinary.js.map +1 -0
  16. package/build/Percy/PercyCaptureMap.d.ts +9 -0
  17. package/build/Percy/PercyCaptureMap.d.ts.map +1 -0
  18. package/build/Percy/PercyCaptureMap.js +36 -0
  19. package/build/Percy/PercyCaptureMap.js.map +1 -0
  20. package/build/Percy/PercyHelper.d.ts +8 -0
  21. package/build/Percy/PercyHelper.d.ts.map +1 -0
  22. package/build/Percy/PercyHelper.js +68 -0
  23. package/build/Percy/PercyHelper.js.map +1 -0
  24. package/build/Percy/PercyLogger.d.ts +15 -0
  25. package/build/Percy/PercyLogger.d.ts.map +1 -0
  26. package/build/Percy/PercyLogger.js +68 -0
  27. package/build/Percy/PercyLogger.js.map +1 -0
  28. package/build/Percy/PercySDK.d.ts +4 -0
  29. package/build/Percy/PercySDK.d.ts.map +1 -0
  30. package/build/Percy/PercySDK.js +86 -0
  31. package/build/Percy/PercySDK.js.map +1 -0
  32. package/build/accessibility-handler.d.ts +52 -0
  33. package/build/accessibility-handler.d.ts.map +1 -0
  34. package/build/accessibility-handler.js +361 -0
  35. package/build/accessibility-handler.js.map +1 -0
  36. package/build/ai-handler.d.ts +23 -0
  37. package/build/ai-handler.d.ts.map +1 -0
  38. package/build/ai-handler.js +184 -0
  39. package/build/ai-handler.js.map +1 -0
  40. package/build/bstackLogger.d.ts +16 -0
  41. package/build/bstackLogger.d.ts.map +1 -0
  42. package/build/bstackLogger.js +71 -0
  43. package/build/bstackLogger.js.map +1 -0
  44. package/build/cleanup.d.ts +9 -0
  45. package/build/cleanup.d.ts.map +1 -0
  46. package/build/cleanup.js +101 -0
  47. package/build/cleanup.js.map +1 -0
  48. package/build/cli/apiUtils.d.ts +14 -0
  49. package/build/cli/apiUtils.d.ts.map +1 -0
  50. package/build/cli/apiUtils.js +25 -0
  51. package/build/cli/apiUtils.js.map +1 -0
  52. package/build/cli/cliLogger.d.ts +17 -0
  53. package/build/cli/cliLogger.d.ts.map +1 -0
  54. package/build/cli/cliLogger.js +82 -0
  55. package/build/cli/cliLogger.js.map +1 -0
  56. package/build/cli/cliUtils.d.ts +64 -0
  57. package/build/cli/cliUtils.d.ts.map +1 -0
  58. package/build/cli/cliUtils.js +461 -0
  59. package/build/cli/cliUtils.js.map +1 -0
  60. package/build/cli/eventDispatcher.d.ts +28 -0
  61. package/build/cli/eventDispatcher.d.ts.map +1 -0
  62. package/build/cli/eventDispatcher.js +49 -0
  63. package/build/cli/eventDispatcher.js.map +1 -0
  64. package/build/cli/frameworks/automationFramework.d.ts +89 -0
  65. package/build/cli/frameworks/automationFramework.d.ts.map +1 -0
  66. package/build/cli/frameworks/automationFramework.js +132 -0
  67. package/build/cli/frameworks/automationFramework.js.map +1 -0
  68. package/build/cli/frameworks/constants/automationFrameworkConstants.d.ts +18 -0
  69. package/build/cli/frameworks/constants/automationFrameworkConstants.d.ts.map +1 -0
  70. package/build/cli/frameworks/constants/automationFrameworkConstants.js +18 -0
  71. package/build/cli/frameworks/constants/automationFrameworkConstants.js.map +1 -0
  72. package/build/cli/frameworks/constants/testFrameworkConstants.d.ts +43 -0
  73. package/build/cli/frameworks/constants/testFrameworkConstants.d.ts.map +1 -0
  74. package/build/cli/frameworks/constants/testFrameworkConstants.js +43 -0
  75. package/build/cli/frameworks/constants/testFrameworkConstants.js.map +1 -0
  76. package/build/cli/frameworks/testFramework.d.ts +89 -0
  77. package/build/cli/frameworks/testFramework.d.ts.map +1 -0
  78. package/build/cli/frameworks/testFramework.js +126 -0
  79. package/build/cli/frameworks/testFramework.js.map +1 -0
  80. package/build/cli/frameworks/wdioAutomationFramework.d.ts +28 -0
  81. package/build/cli/frameworks/wdioAutomationFramework.d.ts.map +1 -0
  82. package/build/cli/frameworks/wdioAutomationFramework.js +67 -0
  83. package/build/cli/frameworks/wdioAutomationFramework.js.map +1 -0
  84. package/build/cli/frameworks/wdioMochaTestFramework.d.ts +82 -0
  85. package/build/cli/frameworks/wdioMochaTestFramework.d.ts.map +1 -0
  86. package/build/cli/frameworks/wdioMochaTestFramework.js +322 -0
  87. package/build/cli/frameworks/wdioMochaTestFramework.js.map +1 -0
  88. package/build/cli/grpcClient.d.ts +86 -0
  89. package/build/cli/grpcClient.d.ts.map +1 -0
  90. package/build/cli/grpcClient.js +532 -0
  91. package/build/cli/grpcClient.js.map +1 -0
  92. package/build/cli/index.d.ts +150 -0
  93. package/build/cli/index.d.ts.map +1 -0
  94. package/build/cli/index.js +464 -0
  95. package/build/cli/index.js.map +1 -0
  96. package/build/cli/instances/automationFrameworkInstance.d.ts +33 -0
  97. package/build/cli/instances/automationFrameworkInstance.d.ts.map +1 -0
  98. package/build/cli/instances/automationFrameworkInstance.js +45 -0
  99. package/build/cli/instances/automationFrameworkInstance.js.map +1 -0
  100. package/build/cli/instances/testFrameworkInstance.d.ts +62 -0
  101. package/build/cli/instances/testFrameworkInstance.d.ts.map +1 -0
  102. package/build/cli/instances/testFrameworkInstance.js +97 -0
  103. package/build/cli/instances/testFrameworkInstance.js.map +1 -0
  104. package/build/cli/instances/trackedContext.d.ts +32 -0
  105. package/build/cli/instances/trackedContext.d.ts.map +1 -0
  106. package/build/cli/instances/trackedContext.js +48 -0
  107. package/build/cli/instances/trackedContext.js.map +1 -0
  108. package/build/cli/instances/trackedInstance.d.ts +40 -0
  109. package/build/cli/instances/trackedInstance.d.ts.map +1 -0
  110. package/build/cli/instances/trackedInstance.js +64 -0
  111. package/build/cli/instances/trackedInstance.js.map +1 -0
  112. package/build/cli/modules/accessibilityModule.d.ts +46 -0
  113. package/build/cli/modules/accessibilityModule.d.ts.map +1 -0
  114. package/build/cli/modules/accessibilityModule.js +447 -0
  115. package/build/cli/modules/accessibilityModule.js.map +1 -0
  116. package/build/cli/modules/automateModule.d.ts +26 -0
  117. package/build/cli/modules/automateModule.d.ts.map +1 -0
  118. package/build/cli/modules/automateModule.js +223 -0
  119. package/build/cli/modules/automateModule.js.map +1 -0
  120. package/build/cli/modules/baseModule.d.ts +33 -0
  121. package/build/cli/modules/baseModule.d.ts.map +1 -0
  122. package/build/cli/modules/baseModule.js +52 -0
  123. package/build/cli/modules/baseModule.js.map +1 -0
  124. package/build/cli/modules/observabilityModule.d.ts +22 -0
  125. package/build/cli/modules/observabilityModule.d.ts.map +1 -0
  126. package/build/cli/modules/observabilityModule.js +46 -0
  127. package/build/cli/modules/observabilityModule.js.map +1 -0
  128. package/build/cli/modules/percyModule.d.ts +19 -0
  129. package/build/cli/modules/percyModule.d.ts.map +1 -0
  130. package/build/cli/modules/percyModule.js +78 -0
  131. package/build/cli/modules/percyModule.js.map +1 -0
  132. package/build/cli/modules/testHubModule.d.ts +30 -0
  133. package/build/cli/modules/testHubModule.d.ts.map +1 -0
  134. package/build/cli/modules/testHubModule.js +233 -0
  135. package/build/cli/modules/testHubModule.js.map +1 -0
  136. package/build/cli/modules/webdriverIOModule.d.ts +29 -0
  137. package/build/cli/modules/webdriverIOModule.d.ts.map +1 -0
  138. package/build/cli/modules/webdriverIOModule.js +129 -0
  139. package/build/cli/modules/webdriverIOModule.js.map +1 -0
  140. package/build/cli/states/automationFrameworkState.d.ts +65 -0
  141. package/build/cli/states/automationFrameworkState.d.ts.map +1 -0
  142. package/build/cli/states/automationFrameworkState.js +62 -0
  143. package/build/cli/states/automationFrameworkState.js.map +1 -0
  144. package/build/cli/states/hookState.d.ts +45 -0
  145. package/build/cli/states/hookState.d.ts.map +1 -0
  146. package/build/cli/states/hookState.js +44 -0
  147. package/build/cli/states/hookState.js.map +1 -0
  148. package/build/cli/states/testFrameworkState.d.ts +125 -0
  149. package/build/cli/states/testFrameworkState.d.ts.map +1 -0
  150. package/build/cli/states/testFrameworkState.js +116 -0
  151. package/build/cli/states/testFrameworkState.js.map +1 -0
  152. package/build/config.d.ts +29 -0
  153. package/build/config.d.ts.map +1 -0
  154. package/build/config.js +52 -0
  155. package/build/config.js.map +1 -0
  156. package/build/constants.d.ts +96 -0
  157. package/build/constants.d.ts.map +1 -0
  158. package/build/constants.js +156 -0
  159. package/build/constants.js.map +1 -0
  160. package/build/crash-reporter.d.ts +18 -0
  161. package/build/crash-reporter.d.ts.map +1 -0
  162. package/build/crash-reporter.js +134 -0
  163. package/build/crash-reporter.js.map +1 -0
  164. package/build/cucumber-types.d.ts +194 -0
  165. package/build/cucumber-types.d.ts.map +1 -0
  166. package/build/cucumber-types.js +2 -0
  167. package/build/cucumber-types.js.map +1 -0
  168. package/build/data-store.d.ts +4 -0
  169. package/build/data-store.d.ts.map +1 -0
  170. package/build/data-store.js +42 -0
  171. package/build/data-store.js.map +1 -0
  172. package/build/exitHandler.d.ts +4 -0
  173. package/build/exitHandler.d.ts.map +1 -0
  174. package/build/exitHandler.js +105 -0
  175. package/build/exitHandler.js.map +1 -0
  176. package/build/fileStream.d.ts +9 -0
  177. package/build/fileStream.d.ts.map +1 -0
  178. package/build/fileStream.js +13 -0
  179. package/build/fileStream.js.map +1 -0
  180. package/build/grpc/generated/sdk-messages-accessibility.d.ts +76 -0
  181. package/build/grpc/generated/sdk-messages-accessibility.d.ts.map +1 -0
  182. package/build/grpc/generated/sdk-messages-accessibility.js +908 -0
  183. package/build/grpc/generated/sdk-messages-accessibility.js.map +1 -0
  184. package/build/grpc/generated/sdk-messages-ai.d.ts +52 -0
  185. package/build/grpc/generated/sdk-messages-ai.d.ts.map +1 -0
  186. package/build/grpc/generated/sdk-messages-ai.js +643 -0
  187. package/build/grpc/generated/sdk-messages-ai.js.map +1 -0
  188. package/build/grpc/generated/sdk-messages-observability.d.ts +44 -0
  189. package/build/grpc/generated/sdk-messages-observability.d.ts.map +1 -0
  190. package/build/grpc/generated/sdk-messages-observability.js +505 -0
  191. package/build/grpc/generated/sdk-messages-observability.js.map +1 -0
  192. package/build/grpc/generated/sdk-messages-percy.d.ts +16 -0
  193. package/build/grpc/generated/sdk-messages-percy.d.ts.map +1 -0
  194. package/build/grpc/generated/sdk-messages-percy.js +111 -0
  195. package/build/grpc/generated/sdk-messages-percy.js.map +1 -0
  196. package/build/grpc/generated/sdk-messages-testhub.d.ts +16 -0
  197. package/build/grpc/generated/sdk-messages-testhub.d.ts.map +1 -0
  198. package/build/grpc/generated/sdk-messages-testhub.js +132 -0
  199. package/build/grpc/generated/sdk-messages-testhub.js.map +1 -0
  200. package/build/grpc/generated/sdk-messages.d.ts +288 -0
  201. package/build/grpc/generated/sdk-messages.d.ts.map +1 -0
  202. package/build/grpc/generated/sdk-messages.js +3958 -0
  203. package/build/grpc/generated/sdk-messages.js.map +1 -0
  204. package/build/grpc/generated/sdk.d.ts +282 -0
  205. package/build/grpc/generated/sdk.d.ts.map +1 -0
  206. package/build/grpc/generated/sdk.js +197 -0
  207. package/build/grpc/generated/sdk.js.map +1 -0
  208. package/build/grpc/index.d.ts +43 -0
  209. package/build/grpc/index.d.ts.map +1 -0
  210. package/build/grpc/index.js +154 -0
  211. package/build/grpc/index.js.map +1 -0
  212. package/build/index.d.ts +20 -0
  213. package/build/index.d.ts.map +1 -0
  214. package/build/index.js +13 -0
  215. package/build/index.js.map +1 -0
  216. package/build/insights-handler.d.ts +76 -0
  217. package/build/insights-handler.d.ts.map +1 -0
  218. package/build/insights-handler.js +855 -0
  219. package/build/insights-handler.js.map +1 -0
  220. package/build/instrumentation/funnelInstrumentation.d.ts +8 -0
  221. package/build/instrumentation/funnelInstrumentation.d.ts.map +1 -0
  222. package/build/instrumentation/funnelInstrumentation.js +235 -0
  223. package/build/instrumentation/funnelInstrumentation.js.map +1 -0
  224. package/build/instrumentation/performance/constants.d.ts +151 -0
  225. package/build/instrumentation/performance/constants.d.ts.map +1 -0
  226. package/build/instrumentation/performance/constants.js +158 -0
  227. package/build/instrumentation/performance/constants.js.map +1 -0
  228. package/build/instrumentation/performance/performance-tester.d.ts +55 -0
  229. package/build/instrumentation/performance/performance-tester.d.ts.map +1 -0
  230. package/build/instrumentation/performance/performance-tester.js +403 -0
  231. package/build/instrumentation/performance/performance-tester.js.map +1 -0
  232. package/build/launcher.d.ts +49 -0
  233. package/build/launcher.d.ts.map +1 -0
  234. package/build/launcher.js +1077 -0
  235. package/build/launcher.js.map +1 -0
  236. package/build/log4jsAppender.d.ts +2 -0
  237. package/build/log4jsAppender.d.ts.map +1 -0
  238. package/build/log4jsAppender.js +20 -0
  239. package/build/log4jsAppender.js.map +1 -0
  240. package/build/logPatcher.d.ts +13 -0
  241. package/build/logPatcher.d.ts.map +1 -0
  242. package/build/logPatcher.js +39 -0
  243. package/build/logPatcher.js.map +1 -0
  244. package/build/logReportingAPI.d.ts +12 -0
  245. package/build/logReportingAPI.d.ts.map +1 -0
  246. package/build/logReportingAPI.js +57 -0
  247. package/build/logReportingAPI.js.map +1 -0
  248. package/build/reporter.d.ts +40 -0
  249. package/build/reporter.d.ts.map +1 -0
  250. package/build/reporter.js +254 -0
  251. package/build/reporter.js.map +1 -0
  252. package/build/request-handler.d.ts +19 -0
  253. package/build/request-handler.d.ts.map +1 -0
  254. package/build/request-handler.js +78 -0
  255. package/build/request-handler.js.map +1 -0
  256. package/build/scripts/accessibility-scripts.d.ts +26 -0
  257. package/build/scripts/accessibility-scripts.d.ts.map +1 -0
  258. package/build/scripts/accessibility-scripts.js +91 -0
  259. package/build/scripts/accessibility-scripts.js.map +1 -0
  260. package/build/service.d.ts +68 -0
  261. package/build/service.d.ts.map +1 -0
  262. package/build/service.js +740 -0
  263. package/build/service.js.map +1 -0
  264. package/build/testHub/utils.d.ts +10 -0
  265. package/build/testHub/utils.d.ts.map +1 -0
  266. package/build/testHub/utils.js +67 -0
  267. package/build/testHub/utils.js.map +1 -0
  268. package/build/testOps/featureStats.d.ts +45 -0
  269. package/build/testOps/featureStats.d.ts.map +1 -0
  270. package/build/testOps/featureStats.js +117 -0
  271. package/build/testOps/featureStats.js.map +1 -0
  272. package/build/testOps/featureUsage.d.ts +22 -0
  273. package/build/testOps/featureUsage.d.ts.map +1 -0
  274. package/build/testOps/featureUsage.js +48 -0
  275. package/build/testOps/featureUsage.js.map +1 -0
  276. package/build/testOps/listener.d.ts +40 -0
  277. package/build/testOps/listener.d.ts.map +1 -0
  278. package/build/testOps/listener.js +269 -0
  279. package/build/testOps/listener.js.map +1 -0
  280. package/build/testOps/requestUtils.d.ts +4 -0
  281. package/build/testOps/requestUtils.d.ts.map +1 -0
  282. package/build/testOps/requestUtils.js +41 -0
  283. package/build/testOps/requestUtils.js.map +1 -0
  284. package/build/testOps/testOpsConfig.d.ts +11 -0
  285. package/build/testOps/testOpsConfig.d.ts.map +1 -0
  286. package/build/testOps/testOpsConfig.js +20 -0
  287. package/build/testOps/testOpsConfig.js.map +1 -0
  288. package/build/testOps/usageStats.d.ts +404 -0
  289. package/build/testOps/usageStats.d.ts.map +1 -0
  290. package/build/testOps/usageStats.js +115 -0
  291. package/build/testOps/usageStats.js.map +1 -0
  292. package/build/testorchestration/apply-orchestration.d.ts +7 -0
  293. package/build/testorchestration/apply-orchestration.d.ts.map +1 -0
  294. package/build/testorchestration/apply-orchestration.js +43 -0
  295. package/build/testorchestration/apply-orchestration.js.map +1 -0
  296. package/build/testorchestration/helpers.d.ts +20 -0
  297. package/build/testorchestration/helpers.d.ts.map +1 -0
  298. package/build/testorchestration/helpers.js +413 -0
  299. package/build/testorchestration/helpers.js.map +1 -0
  300. package/build/testorchestration/request-utils.d.ts +23 -0
  301. package/build/testorchestration/request-utils.d.ts.map +1 -0
  302. package/build/testorchestration/request-utils.js +82 -0
  303. package/build/testorchestration/request-utils.js.map +1 -0
  304. package/build/testorchestration/test-ordering-server.d.ts +33 -0
  305. package/build/testorchestration/test-ordering-server.d.ts.map +1 -0
  306. package/build/testorchestration/test-ordering-server.js +169 -0
  307. package/build/testorchestration/test-ordering-server.js.map +1 -0
  308. package/build/testorchestration/testorcherstrationhandler.d.ts +50 -0
  309. package/build/testorchestration/testorcherstrationhandler.d.ts.map +1 -0
  310. package/build/testorchestration/testorcherstrationhandler.js +134 -0
  311. package/build/testorchestration/testorcherstrationhandler.js.map +1 -0
  312. package/build/testorchestration/testorcherstrationutils.d.ts +86 -0
  313. package/build/testorchestration/testorcherstrationutils.d.ts.map +1 -0
  314. package/build/testorchestration/testorcherstrationutils.js +380 -0
  315. package/build/testorchestration/testorcherstrationutils.js.map +1 -0
  316. package/build/types.d.ts +413 -0
  317. package/build/types.d.ts.map +1 -0
  318. package/build/types.js +2 -0
  319. package/build/types.js.map +1 -0
  320. package/build/util.d.ts +241 -0
  321. package/build/util.d.ts.map +1 -0
  322. package/build/util.js +1665 -0
  323. package/build/util.js.map +1 -0
  324. package/package.json +96 -0
  325. package/src/proto/browserstack/sdk/v1/sdk-messages-accessibility.proto +71 -0
  326. package/src/proto/browserstack/sdk/v1/sdk-messages-ai.proto +48 -0
  327. package/src/proto/browserstack/sdk/v1/sdk-messages-observability.proto +39 -0
  328. package/src/proto/browserstack/sdk/v1/sdk-messages-percy.proto +10 -0
  329. package/src/proto/browserstack/sdk/v1/sdk-messages-testhub.proto +10 -0
  330. package/src/proto/browserstack/sdk/v1/sdk-messages.proto +276 -0
  331. package/src/proto/browserstack/sdk/v1/sdk.proto +41 -0
@@ -0,0 +1,413 @@
1
+ import type { Capabilities, Options, Frameworks } from '@wdio/types';
2
+ import type { Options as BSOptions } from 'browserstack-local';
3
+ export interface SessionResponse {
4
+ automation_session: {
5
+ browser_url: string;
6
+ };
7
+ }
8
+ export interface TurboScaleSessionResponse {
9
+ url: string;
10
+ }
11
+ export type MultiRemoteAction = (sessionId: string, browserName?: string) => Promise<any>;
12
+ export type AppConfig = {
13
+ id?: string;
14
+ path?: string;
15
+ custom_id?: string;
16
+ shareable_id?: string;
17
+ };
18
+ export interface AppUploadResponse {
19
+ app_url?: string;
20
+ custom_id?: string;
21
+ shareable_id?: string;
22
+ }
23
+ export interface App {
24
+ app?: string;
25
+ customId?: string;
26
+ }
27
+ export interface TestObservabilityOptions {
28
+ buildName?: string;
29
+ projectName?: string;
30
+ buildTag?: string[];
31
+ user?: string;
32
+ key?: string;
33
+ /**
34
+ * When set to true, hook failures will not influence the test status.
35
+ * Tests will be marked as "passed" if all test steps pass, even if hooks fail.
36
+ * When set to false or not set (default), hook failures will mark tests as "failed".
37
+ * @default false
38
+ */
39
+ ignoreHooksStatus?: boolean;
40
+ }
41
+ export interface TestReportingOptions {
42
+ buildName?: string;
43
+ projectName?: string;
44
+ buildTag?: string[];
45
+ user?: string;
46
+ key?: string;
47
+ }
48
+ export interface TestManagementOptions {
49
+ testPlanId?: string;
50
+ }
51
+ export interface RunSmartSelectionOptions {
52
+ enabled?: boolean;
53
+ mode?: string;
54
+ source?: string | string[];
55
+ }
56
+ export interface TestOrchestrationOptions {
57
+ runSmartSelection?: RunSmartSelectionOptions;
58
+ }
59
+ export interface BrowserstackOptions extends Options.Testrunner {
60
+ selfHeal?: boolean;
61
+ }
62
+ export interface BrowserstackConfig {
63
+ /**
64
+ *`buildIdentifier` is a unique id to differentiate every execution that gets appended to
65
+ * buildName. Choose your buildIdentifier format from the available expressions:
66
+ * ${BUILD_NUMBER} (Default): Generates an incremental counter with every execution
67
+ * ${DATE_TIME}: Generates a Timestamp with every execution. Eg. 05-Nov-19:30
68
+ */
69
+ buildIdentifier?: string;
70
+ /**
71
+ * Set this to true to enable BrowserStack Test Reporting and Analytics which will collect test related data
72
+ * (name, hierarchy, status, error stack trace, file name and hierarchy), test commands, etc.
73
+ * and show all the data in a meaningful manner in BrowserStack Test Reporting and Analytics dashboards for faster test debugging and better insights.
74
+ * @default true
75
+ * @deprecated Use testReporting instead
76
+ */
77
+ testObservability?: boolean;
78
+ /**
79
+ * Set this to true to enable BrowserStack Test Reporting and Analytics which will collect test related data
80
+ * (name, hierarchy, status, error stack trace, file name and hierarchy), test commands, etc.
81
+ * and show all the data in a meaningful manner in BrowserStack Test Reporting and Analytics dashboards for faster test debugging and better insights.
82
+ * @default true
83
+ */
84
+ testReporting?: boolean;
85
+ /**
86
+ * Set the Test Reporting and Analytics related config options under this key.
87
+ * For e.g. buildName, projectName, BrowserStack access credentials, etc.
88
+ * @deprecated Use testReportingOptions instead
89
+ */
90
+ testObservabilityOptions?: TestObservabilityOptions;
91
+ /**
92
+ * Set the Test Reporting and Analytics related config options under this key.
93
+ * For e.g. buildName, projectName, BrowserStack access credentials, etc.
94
+ */
95
+ testReportingOptions?: TestReportingOptions;
96
+ /**
97
+ * Set the Test Management related config options under this key.
98
+ * Currently supports testPlanId.
99
+ */
100
+ testManagementOptions?: TestManagementOptions;
101
+ /**
102
+ * Set this to true to enable BrowserStack Percy which will take screenshots
103
+ * and snapshots for your tests run on Browserstack
104
+ * @default false
105
+ */
106
+ percy?: boolean;
107
+ /**
108
+ * Accepts mode as a string to auto capture screenshots at different execution points
109
+ * Accepted values are auto, click, testcase, screenshot & manual
110
+ */
111
+ percyCaptureMode?: string;
112
+ /**
113
+ * Set the Percy related config options under this key.
114
+ */
115
+ percyOptions?: any;
116
+ /**
117
+ * Set this to true to enable BrowserStack Accessibility Automation which will
118
+ * automically conduct accessibility testing on your pre-existing test builds
119
+ * and generate health reports which can be viewed in the Accessibility dashboard.
120
+ * @default false
121
+ */
122
+ accessibility?: boolean;
123
+ /**
124
+ * Customise the Accessibility-related config options under this key.
125
+ * For e.g. wcagVersion, bestPractice issues, needsReview issues etc.
126
+ */
127
+ accessibilityOptions?: {
128
+ [key: string]: any;
129
+ };
130
+ /**
131
+ * Set this with app file path present locally on your device or
132
+ * app hashed id returned after uploading app to BrowserStack or
133
+ * custom_id, sharable_id of the uploaded app
134
+ * @default undefined
135
+ */
136
+ app?: string | AppConfig;
137
+ /**
138
+ * Enable routing connections from BrowserStack cloud through your computer.
139
+ * You will also need to set `browserstack.local` to true in browser capabilities.
140
+ * @default false
141
+ */
142
+ browserstackLocal?: boolean;
143
+ /**
144
+ * Kill the BrowserStack Local process on complete, without waiting for the
145
+ * BrowserStack Local stop callback to be called.
146
+ *
147
+ * __This is experimental and should not be used by all.__
148
+ * @default false
149
+ */
150
+ forcedStop?: boolean;
151
+ /**
152
+ * BrowserStack Local options. For more details check out the
153
+ * [`browserstack-local`](https://www.npmjs.com/package/browserstack-local#arguments) docs.
154
+ *
155
+ * @example
156
+ * ```js
157
+ * {
158
+ * localIdentifier: 'some-identifier'
159
+ * }
160
+ * ```
161
+ * @default {}
162
+ */
163
+ opts?: Partial<BSOptions>;
164
+ /**
165
+ * Cucumber only. Set the BrowserStack Automate session name to the Scenario name if only a single Scenario ran.
166
+ * Useful when running in parallel with [wdio-cucumber-parallel-execution](https://github.com/SimitTomar/wdio-cucumber-parallel-execution).
167
+ * @default false
168
+ */
169
+ preferScenarioName?: boolean;
170
+ /**
171
+ * Customize the BrowserStack Automate session name format.
172
+ * @default undefined
173
+ */
174
+ sessionNameFormat?: (config: Options.Testrunner, capabilities: Capabilities.RemoteCapability, suiteTitle: string, testTitle?: string) => string;
175
+ /**
176
+ * Mocha only. Do not append the test title to the BrowserStack Automate session name.
177
+ * @default false
178
+ */
179
+ sessionNameOmitTestTitle?: boolean;
180
+ /**
181
+ * Mocha only. Prepend the top level suite title to the BrowserStack Automate session name.
182
+ * @default false
183
+ */
184
+ sessionNamePrependTopLevelSuiteTitle?: boolean;
185
+ /**
186
+ * Automatically set the BrowserStack Automate session name.
187
+ * @default true
188
+ */
189
+ setSessionName?: boolean;
190
+ /**
191
+ * Automatically set the BrowserStack Automate session status (passed/failed).
192
+ * @default true
193
+ */
194
+ setSessionStatus?: boolean;
195
+ /**
196
+ * Set this to true while running tests on the automation grid created using BrowserStack Automate TurboScale
197
+ * to automatically set the session name and status for quick debugging.
198
+ * @default false
199
+ */
200
+ turboScale?: boolean;
201
+ /**
202
+ * Set this to true to enable enterprise whitelisting
203
+ * @default false
204
+ */
205
+ ipWhiteListing?: boolean;
206
+ /**
207
+ * Set the Test Orchestration related config options under this key.
208
+ * For e.g. runSmartSelection configurations, etc.
209
+ */
210
+ testOrchestrationOptions?: TestOrchestrationOptions;
211
+ }
212
+ /**
213
+ * Observability types
214
+ */
215
+ export interface PlatformMeta {
216
+ sessionId?: string;
217
+ browserName?: string;
218
+ browserVersion?: string;
219
+ platformName?: string;
220
+ caps?: WebdriverIO.Capabilities;
221
+ product?: string;
222
+ }
223
+ export interface TestMeta {
224
+ uuid?: string;
225
+ startedAt?: string;
226
+ finishedAt?: string;
227
+ steps?: StepData[];
228
+ feature?: {
229
+ name: string;
230
+ path?: string;
231
+ description: string | null;
232
+ };
233
+ scenario?: {
234
+ name: string;
235
+ };
236
+ examples?: string[];
237
+ hookType?: string;
238
+ testRunId?: string;
239
+ }
240
+ export interface CurrentRunInfo {
241
+ uuid?: string;
242
+ name?: string;
243
+ test?: Frameworks.Test;
244
+ finished?: boolean;
245
+ }
246
+ export interface TestData {
247
+ uuid?: string;
248
+ type?: string;
249
+ name?: string;
250
+ scope?: string;
251
+ scopes?: string[];
252
+ identifier?: string;
253
+ file_name?: string;
254
+ vc_filepath?: string;
255
+ location?: string;
256
+ started_at?: string;
257
+ finished_at?: string;
258
+ framework?: string;
259
+ body?: TestCodeBody;
260
+ result?: string;
261
+ failure?: Failure[];
262
+ failure_reason?: string;
263
+ failure_type?: string | null;
264
+ retries?: {
265
+ limit: number;
266
+ attempts: number;
267
+ };
268
+ duration_in_ms?: number;
269
+ integrations?: {
270
+ [index: string]: IntegrationObject;
271
+ };
272
+ hook_type?: string;
273
+ hooks?: string[];
274
+ meta?: TestMeta;
275
+ tags?: string[];
276
+ test_run_id?: string;
277
+ product_map?: {};
278
+ }
279
+ export interface UserConfig {
280
+ buildName?: string;
281
+ projectName?: string;
282
+ buildTag?: string;
283
+ bstackServiceVersion?: string;
284
+ buildIdentifier?: string;
285
+ accessibilityOptions?: {
286
+ [key: string]: any;
287
+ };
288
+ }
289
+ export interface UploadType {
290
+ event_type: string;
291
+ hook_run?: TestData;
292
+ test_run?: TestData | CBTData;
293
+ logs?: LogData[];
294
+ }
295
+ export interface LogData {
296
+ timestamp: string;
297
+ kind: 'TEST_LOG' | 'TEST_STEP' | 'HTTP' | 'TEST_SCREENSHOT';
298
+ test_run_uuid?: string;
299
+ hook_run_uuid?: string;
300
+ message?: string;
301
+ level?: string;
302
+ http_response?: any;
303
+ }
304
+ export interface StdLog extends LogData {
305
+ kind: 'TEST_LOG';
306
+ }
307
+ export interface ScreenshotLog extends LogData {
308
+ kind: 'TEST_SCREENSHOT';
309
+ }
310
+ export interface LaunchResponse {
311
+ jwt: string;
312
+ build_hashed_id: string;
313
+ observability?: {
314
+ success: boolean;
315
+ options: {
316
+ allow_screenshots?: boolean;
317
+ };
318
+ errors?: {
319
+ key: string;
320
+ message: string;
321
+ }[];
322
+ };
323
+ accessibility?: {
324
+ success: boolean;
325
+ errors?: {
326
+ key: string;
327
+ message: string;
328
+ }[];
329
+ options: {
330
+ status: string;
331
+ commandsToWrap: {
332
+ scriptsToRun: string[];
333
+ commands: any[];
334
+ };
335
+ scripts: {
336
+ name: string;
337
+ command: string;
338
+ }[];
339
+ capabilities: {
340
+ name: string;
341
+ value: any;
342
+ }[];
343
+ };
344
+ };
345
+ }
346
+ export interface UserConfigforReporting {
347
+ framework?: string;
348
+ services?: any[];
349
+ capabilities?: Capabilities.RemoteCapability;
350
+ env?: {
351
+ 'BROWSERSTACK_BUILD': string | undefined;
352
+ 'BROWSERSTACK_BUILD_NAME': string | undefined;
353
+ 'BUILD_TAG': string | undefined;
354
+ };
355
+ }
356
+ export interface CredentialsForCrashReportUpload {
357
+ username?: string;
358
+ password?: string;
359
+ }
360
+ interface IntegrationObject {
361
+ capabilities?: WebdriverIO.Capabilities;
362
+ session_id?: string;
363
+ browser?: string;
364
+ browser_version?: string;
365
+ platform?: string;
366
+ product?: string;
367
+ platform_version?: string;
368
+ }
369
+ interface TestCodeBody {
370
+ lang: string;
371
+ code?: string | null;
372
+ }
373
+ interface StepData {
374
+ id?: string;
375
+ text?: string;
376
+ keyword?: string;
377
+ started_at?: string;
378
+ finished_at?: string;
379
+ result?: string;
380
+ duration?: number;
381
+ failure?: string;
382
+ }
383
+ interface Failure {
384
+ backtrace: string[];
385
+ }
386
+ export interface FeatureStatsOverview {
387
+ triggeredCount: number;
388
+ sentCount: number;
389
+ failedCount: number;
390
+ }
391
+ export interface FeaturesUsageData {
392
+ isTriggered?: boolean;
393
+ status?: string;
394
+ error?: string;
395
+ }
396
+ export interface CBTData {
397
+ uuid: string;
398
+ integrations: {
399
+ [index: string]: IntegrationObject;
400
+ };
401
+ }
402
+ export interface TOUsageStats {
403
+ enabled: boolean;
404
+ manuallySet: boolean;
405
+ buildHashedId?: string;
406
+ events?: any;
407
+ }
408
+ export interface TOStopData {
409
+ finished_at: string;
410
+ finished_metadata: Array<any>;
411
+ }
412
+ export {};
413
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/build/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,241 @@
1
+ import http from 'node:http';
2
+ import https from 'node:https';
3
+ import type { Capabilities, Frameworks, Options } from '@wdio/types';
4
+ import type { BeforeCommandArgs, AfterCommandArgs } from '@wdio/reporter';
5
+ import type { Method } from 'got';
6
+ import type { ColorName } from 'chalk';
7
+ import type { UploadType, LaunchResponse, BrowserstackConfig } from './types.js';
8
+ import type { ITestCaseHookParameter } from './cucumber-types.js';
9
+ import type { StartBinSessionResponse } from './grpc/index.js';
10
+ export type GitMetaData = {
11
+ name: string;
12
+ sha: string;
13
+ short_sha: string;
14
+ branch: string;
15
+ tag: string | null;
16
+ committer: string;
17
+ committer_date: string;
18
+ author: string;
19
+ author_date: string;
20
+ commit_message: string;
21
+ root: string;
22
+ common_git_dir: string;
23
+ worktree_git_dir: string;
24
+ last_tag: string | null;
25
+ commits_since_last_tag: number;
26
+ remotes: Array<{
27
+ name: string;
28
+ url: string;
29
+ }>;
30
+ };
31
+ export declare const DEFAULT_REQUEST_CONFIG: {
32
+ agent: {
33
+ http: http.Agent;
34
+ https: https.Agent;
35
+ };
36
+ headers: {
37
+ 'Content-Type': string;
38
+ 'X-BSTACK-OBS': string;
39
+ };
40
+ };
41
+ export declare const COLORS: Record<string, ColorName>;
42
+ /**
43
+ * get browser description for Browserstack service
44
+ * @param cap browser capablities
45
+ */
46
+ export declare function getBrowserDescription(cap: Capabilities.DesiredCapabilities): string;
47
+ /**
48
+ * get correct browser capabilities object in both multiremote and normal setups
49
+ * @param browser browser object
50
+ * @param caps browser capbilities object. In case of multiremote, the object itself should have a property named 'capabilities'
51
+ * @param browserName browser name in case of multiremote
52
+ */
53
+ export declare function getBrowserCapabilities(browser: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser, caps?: Capabilities.RemoteCapability, browserName?: string): WebdriverIO.Capabilities;
54
+ /**
55
+ * check for browserstack W3C capabilities. Does not support legacy capabilities
56
+ * @param cap browser capabilities
57
+ */
58
+ export declare function isBrowserstackCapability(cap?: WebdriverIO.Capabilities): boolean;
59
+ export declare function getParentSuiteName(fullTitle: string, testSuiteTitle: string): string;
60
+ export declare function o11yErrorHandler(fn: Function): (...args: any) => any;
61
+ export declare function errorHandler(fn: Function): (...args: any) => any;
62
+ export declare function nodeRequest(requestType: Method, apiEndpoint: string, options: any, apiUrl: string, timeout?: number): Promise<any>;
63
+ type ClassType = {
64
+ new (...args: any[]): any;
65
+ };
66
+ export declare function o11yClassErrorHandler<T extends ClassType>(errorClass: T): T;
67
+ export declare const processTestObservabilityResponse: (response: LaunchResponse) => void;
68
+ export declare const performO11ySync: (browser: WebdriverIO.Browser) => Promise<void>;
69
+ interface DataElement {
70
+ [key: string]: any;
71
+ }
72
+ export declare const jsonifyAccessibilityArray: (dataArray: DataElement[], keyName: keyof DataElement, valueName: keyof DataElement) => Record<string, any>;
73
+ export declare const processAccessibilityResponse: (response: LaunchResponse | StartBinSessionResponse, options: BrowserstackConfig & Options.Testrunner) => void;
74
+ export declare const processLaunchBuildResponse: (response: LaunchResponse, options: BrowserstackConfig & Options.Testrunner) => void;
75
+ export declare const launchTestSession: (...args: any[]) => any;
76
+ export declare const validateCapsWithAppA11y: (platformMeta?: {
77
+ [key: string]: any;
78
+ }) => boolean;
79
+ export declare const validateCapsWithA11y: (deviceName?: any, platformMeta?: {
80
+ [key: string]: any;
81
+ }, chromeOptions?: any) => boolean;
82
+ export declare const validateCapsWithNonBstackA11y: (browserName?: string | undefined, browserVersion?: string | undefined) => boolean;
83
+ export declare const shouldScanTestForAccessibility: (suiteTitle: string | undefined, testTitle: string, accessibilityOptions?: {
84
+ [key: string]: any;
85
+ }, world?: {
86
+ [key: string]: any;
87
+ }, isCucumber?: boolean) => boolean;
88
+ export declare const isAccessibilityAutomationSession: (accessibilityFlag?: boolean | string | null) => boolean | "" | null | undefined;
89
+ export declare const isAppAccessibilityAutomationSession: (accessibilityFlag?: boolean | string, isAppAutomate?: boolean) => boolean | "" | null | undefined;
90
+ export declare const formatString: (template: (string | null), ...values: (string | null)[]) => string;
91
+ export declare const _getParamsForAppAccessibility: (commandName?: string) => {
92
+ thTestRunUuid: any;
93
+ thBuildUuid: any;
94
+ thJwtToken: any;
95
+ authHeader: any;
96
+ scanTimestamp: Number;
97
+ method: string | undefined;
98
+ };
99
+ export declare const performA11yScan: (isAppAutomate: boolean, browser: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser, isBrowserStackSession?: boolean, isAccessibility?: boolean | string, commandName?: string) => Promise<{
100
+ [key: string]: any;
101
+ } | undefined>;
102
+ export declare const getA11yResults: (...args: any[]) => any;
103
+ export declare const getAppA11yResults: (...args: any[]) => any;
104
+ export declare const getAppA11yResultsSummary: (...args: any[]) => any;
105
+ export declare const getA11yResultsSummary: (...args: any[]) => any;
106
+ export declare const stopBuildUpstream: (...args: any[]) => any;
107
+ export declare function getCiInfo(): {
108
+ name: string;
109
+ build_url: string | undefined;
110
+ job_name: string | undefined;
111
+ build_number: string | undefined;
112
+ } | {
113
+ name: string;
114
+ build_url: string | undefined;
115
+ job_name: string | null;
116
+ build_number: string | undefined;
117
+ } | {
118
+ name: string;
119
+ build_url: null;
120
+ job_name: string | undefined;
121
+ build_number: string | undefined;
122
+ } | {
123
+ name: string;
124
+ build_url: string;
125
+ job_name: null;
126
+ build_number: null;
127
+ } | {
128
+ name: string;
129
+ build_url: null;
130
+ job_name: null;
131
+ build_number: string | undefined;
132
+ } | {
133
+ name: string;
134
+ build_url: null;
135
+ job_name: string | null;
136
+ build_number: string | null;
137
+ } | null;
138
+ export declare function getGitMetaData(): Promise<GitMetaData | undefined>;
139
+ export declare function getUniqueIdentifier(test: Frameworks.Test, framework?: string): string;
140
+ export declare function getUniqueIdentifierForCucumber(world: ITestCaseHookParameter): string;
141
+ export declare function getCloudProvider(browser: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser): string;
142
+ export declare function isBrowserstackSession(browser?: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser): boolean | undefined;
143
+ /**
144
+ * Sets a BrowserStack annotation with the provided message
145
+ * @param browser - The WebDriver browser instance
146
+ * @param message - The annotation message to set
147
+ * @param isAccessibilityEnabled - Whether accessibility is enabled for the session
148
+ */
149
+ export declare function setBrowserstackAnnotation(browser: WebdriverIO.Browser, message: string, isAccessibilityEnabled: boolean): Promise<void>;
150
+ export declare function getScenarioExamples(world: ITestCaseHookParameter): string[] | undefined;
151
+ export declare function removeAnsiColors(message: string): string;
152
+ export declare function getLogTag(eventType: string): string;
153
+ export declare function getHierarchy(fullTitle?: string): string[];
154
+ export declare function getHookType(hookName: string): string;
155
+ export declare function isScreenshotCommand(args: BeforeCommandArgs | AfterCommandArgs): boolean | "" | undefined;
156
+ export declare function isBStackSession(config: Options.Testrunner): boolean;
157
+ export declare function isBrowserstackInfra(config: BrowserstackConfig & Options.Testrunner, caps?: Capabilities.BrowserStackCapabilities): boolean;
158
+ export declare function getBrowserStackUserAndKey(config: Options.Testrunner, options: Options.Testrunner): {
159
+ user: string | undefined;
160
+ key: string | undefined;
161
+ } | undefined;
162
+ export declare function shouldAddServiceVersion(config: Options.Testrunner, testObservability?: boolean, caps?: Capabilities.BrowserStackCapabilities): boolean;
163
+ export declare function batchAndPostEvents(eventUrl: string, kind: string, data: UploadType[]): Promise<void>;
164
+ export declare function normalizeTestReportingConfig(_options: BrowserstackConfig & Options.Testrunner): void;
165
+ export declare function normalizeTestReportingEnvVariables(): void;
166
+ export declare function getObservabilityUser(options: BrowserstackConfig & Options.Testrunner, config: Options.Testrunner): string | undefined;
167
+ export declare function getObservabilityKey(options: BrowserstackConfig & Options.Testrunner, config: Options.Testrunner): string | undefined;
168
+ export declare function getObservabilityProject(options: BrowserstackConfig & Options.Testrunner, bstackProjectName?: string): string | undefined;
169
+ export declare function getObservabilityBuild(options: BrowserstackConfig & Options.Testrunner, bstackBuildName?: string): string;
170
+ export declare function getObservabilityBuildTags(options: BrowserstackConfig & Options.Testrunner, bstackBuildTag?: string): string[];
171
+ export declare function getTestPlanId(options: BrowserstackConfig & Options.Testrunner): string | undefined;
172
+ export declare function getBrowserStackUser(config: Options.Testrunner): string | undefined;
173
+ export declare function getBrowserStackKey(config: Options.Testrunner): string | undefined;
174
+ export declare function isUndefined(value: any): boolean;
175
+ export declare function isTrue(value?: any): boolean;
176
+ export declare function isFalse(value?: any): boolean;
177
+ export declare function frameworkSupportsHook(hook: string, framework?: string): boolean;
178
+ export declare const patchConsoleLogs: (...args: any) => any;
179
+ export declare function getFailureObject(error: string | Error): {
180
+ failure: {
181
+ backtrace: string[];
182
+ }[];
183
+ failure_reason: string;
184
+ failure_type: string | null;
185
+ };
186
+ export declare function truncateString(field: string, truncateSizeInBytes: number): string;
187
+ export declare function getSizeOfJsonObjectInBytes(jsonData: GitMetaData): number;
188
+ export declare function checkAndTruncateVCSInfo(gitMetaData: GitMetaData): GitMetaData;
189
+ export declare const sleep: (ms?: number) => Promise<unknown>;
190
+ export declare function uploadLogs(user: string | undefined, key: string | undefined, clientBuildUuid: string): Promise<any>;
191
+ export declare const isObject: (object: any) => boolean;
192
+ export declare const ObjectsAreEqual: (object1: any, object2: any) => boolean;
193
+ export declare const getPlatformVersion: (...args: any) => any;
194
+ export declare const isObjectEmpty: (objectName: unknown) => unknown;
195
+ export declare const getErrorString: (err: unknown) => string | undefined;
196
+ export declare function isTurboScale(options: (BrowserstackConfig & Options.Testrunner) | undefined): boolean;
197
+ export declare function getObservabilityProduct(options: (BrowserstackConfig & Options.Testrunner) | undefined, isAppAutomate: boolean | undefined): string;
198
+ export declare const hasBrowserName: (cap: Options.Testrunner) => boolean;
199
+ export declare const isValidCapsForHealing: (caps: {
200
+ [key: string]: Options.Testrunner;
201
+ }) => boolean;
202
+ type PollingResult = {
203
+ data: any;
204
+ headers: Record<string, any>;
205
+ message?: string;
206
+ };
207
+ export declare function pollApi(url: string, params: Record<string, any>, headers: Record<string, string>, upperLimit: number, startTime?: number): Promise<PollingResult>;
208
+ export declare function getBooleanValueFromString(value: string | undefined): boolean;
209
+ /**
210
+ * Validate boolean value from mixed types (boolean or string)
211
+ * Only accepts true boolean or string "true" (case insensitive)
212
+ */
213
+ export declare function isValidEnabledValue(value: boolean | string | undefined): boolean;
214
+ export declare function mergeDeep(target: Record<string, any>, ...sources: any[]): Record<string, any>;
215
+ export declare function mergeChromeOptions(base: Capabilities.ChromeOptions, override: Partial<Capabilities.ChromeOptions>): Capabilities.ChromeOptions;
216
+ export declare function isNullOrEmpty(string: any): boolean;
217
+ export declare function isHash(entity: any): boolean;
218
+ export declare function nestedKeyValue(hash: any, keys: Array<string>): any;
219
+ export declare function removeDir(dir: string): void;
220
+ export declare function createDir(dir: string): void;
221
+ export declare function isWritable(dirPath: string): boolean;
222
+ export declare function setReadWriteAccess(dirPath: string): void;
223
+ export declare function getMochaTestHierarchy(test: Frameworks.Test): string[];
224
+ /**
225
+ * Checks if the capabilities represent a multiremote configuration
226
+ * @param capabilities - The capabilities to check
227
+ * @returns true if capabilities represent any multiremote configuration (regular or parallel)
228
+ *
229
+ * @example
230
+ * Regular multiremote (object):
231
+ * { browserA: { capabilities: {...} }, browserB: { capabilities: {...} } }
232
+ *
233
+ * Parallel multiremote (array with nested structure):
234
+ * [{ browserA: { capabilities: {...} }, browserB: { capabilities: {...} } }]
235
+ *
236
+ * Regular capabilities (array):
237
+ * [{ browserName: 'chrome', ... }]
238
+ */
239
+ export declare function isMultiRemoteCaps(capabilities: Capabilities.RemoteCapabilities): boolean;
240
+ export {};
241
+ //# sourceMappingURL=util.d.ts.map