diff --git a/packages/wdio-browserstack-service/src/insights-handler.ts b/packages/wdio-browserstack-service/src/insights-handler.ts index a8a36b6a777..c9a33e4c71b 100644 --- a/packages/wdio-browserstack-service/src/insights-handler.ts +++ b/packages/wdio-browserstack-service/src/insights-handler.ts @@ -864,12 +864,15 @@ class _InsightsHandler { } private getIntegrationsObject () { + const caps = (this._browser as WebdriverIO.Browser)?.capabilities as WebdriverIO.Capabilities + const sessionId = (this._browser as WebdriverIO.Browser)?.sessionId + return { - capabilities: this._platformMeta?.caps, - session_id: this._platformMeta?.sessionId, - browser: this._platformMeta?.browserName, - browser_version: this._platformMeta?.browserVersion, - platform: this._platformMeta?.platformName, + capabilities: caps, + session_id: sessionId, + browser: caps?.browserName, + browser_version: caps?.browserVersion, + platform: caps?.platformName, product: this._platformMeta?.product, platform_version: getPlatformVersion(this._userCaps as WebdriverIO.Capabilities) } diff --git a/packages/wdio-browserstack-service/tests/insights-handler.test.ts b/packages/wdio-browserstack-service/tests/insights-handler.test.ts index f25b5f5a01a..b9def118aac 100644 --- a/packages/wdio-browserstack-service/tests/insights-handler.test.ts +++ b/packages/wdio-browserstack-service/tests/insights-handler.test.ts @@ -617,6 +617,18 @@ describe('getIntegrationsObject', () => { expect(integrationsObject.platform_version).toEqual('some version') }) + it('should fetch latest details', () => { + const existingSessionId = browser.sessionId + const existingOs = browser.capabilities.os + browser.sessionId = 'session-new' + browser.capabilities.os = 'Windows' + const integrationsObject = insightsHandler['getIntegrationsObject']() + expect(integrationsObject.session_id).toEqual('session-new') + expect(integrationsObject.capabilities.os).toEqual('Windows') + browser.sessionId = existingSessionId + browser.capabilities.os = existingOs + }) + afterAll(() => { getPlatformVersionSpy.mockReset() })