diff --git a/packages/rum-core/src/domain/view/viewMetrics/trackScrollMetrics.ts b/packages/rum-core/src/domain/view/viewMetrics/trackScrollMetrics.ts index ea2c47fc21..11b70fde20 100644 --- a/packages/rum-core/src/domain/view/viewMetrics/trackScrollMetrics.ts +++ b/packages/rum-core/src/domain/view/viewMetrics/trackScrollMetrics.ts @@ -102,7 +102,7 @@ export function createScrollValuesObservable( const observerTarget = document.scrollingElement || document.documentElement const resizeObserver = new ResizeObserver(monitor(throttledNotify.throttled)) - if (observerTarget instanceof Element) { + if (observerTarget) { resizeObserver.observe(observerTarget) } const eventListener = addEventListener(configuration, window, DOM_EVENT.SCROLL, throttledNotify.throttled, { diff --git a/test/e2e/lib/framework/createTest.ts b/test/e2e/lib/framework/createTest.ts index fca574fb7c..91ec8eb2ea 100644 --- a/test/e2e/lib/framework/createTest.ts +++ b/test/e2e/lib/framework/createTest.ts @@ -1,4 +1,3 @@ -import * as fs from 'fs' import type { LogsInitConfiguration } from '@datadog/browser-logs' import type { RumInitConfiguration } from '@datadog/browser-rum-core' import { DefaultPrivacyLevel } from '@datadog/browser-rum' @@ -15,7 +14,6 @@ import type { SetupFactory, SetupOptions } from './pageSetups' import { DEFAULT_SETUPS, npmSetup } from './pageSetups' import { createIntakeServerApp } from './serverApps/intake' import { createMockServerApp } from './serverApps/mock' -import { RUM_BUNDLE } from './sdkBuilds' const DEFAULT_RUM_CONFIGURATION = { applicationId: APPLICATION_ID, @@ -230,33 +228,3 @@ async function tearDownTest({ intakeRegistry }: TestContext) { }) await deleteAllCookies() } - -export async function injectRumWithPuppeteer() { - const ddRUM = fs.readFileSync(RUM_BUNDLE, 'utf8') - const puppeteerBrowser = await browser.getPuppeteer() - let injected = true - - await browser.call(async () => { - const page = await puppeteerBrowser.newPage() - await page.evaluateOnNewDocument( - ` - if (location.href !== 'about:blank') { - ${ddRUM} - window.DD_RUM._setDebug(true) - window.DD_RUM.init({ - applicationId: ${APPLICATION_ID}, - clientToken: ${CLIENT_TOKEN}, - }) - window.DD_RUM.startView() - } - ` - ) - page.on('console', (msg) => { - if (msg.type() === 'error') { - injected = false - } - }) - await page.goto('https://webdriver.io') - }) - return injected -} diff --git a/test/e2e/lib/framework/index.ts b/test/e2e/lib/framework/index.ts index 6b539d11e6..27ce98ee34 100644 --- a/test/e2e/lib/framework/index.ts +++ b/test/e2e/lib/framework/index.ts @@ -1,4 +1,4 @@ -export { createTest, injectRumWithPuppeteer } from './createTest' +export { createTest } from './createTest' export { bundleSetup, html } from './pageSetups' export { IntakeRegistry } from './intakeRegistry' export { getTestServers, waitForServersIdle } from './httpServers' diff --git a/test/e2e/scenario/rum/s8sInject.scenario.ts b/test/e2e/scenario/rum/s8sInject.scenario.ts index 72a3208cdf..fa93b30b26 100644 --- a/test/e2e/scenario/rum/s8sInject.scenario.ts +++ b/test/e2e/scenario/rum/s8sInject.scenario.ts @@ -1,4 +1,7 @@ -import { injectRumWithPuppeteer } from '../../lib/framework' +import { RUM_BUNDLE } from '../../lib/framework/sdkBuilds' +import { APPLICATION_ID, CLIENT_TOKEN } from '../../lib/helpers/configuration' +import * as fs from 'fs' + describe('Inject RUM with Puppeteer', () => { // S8s tests inject RUM with puppeteer evaluateOnNewDocument it('should not throw error in chrome', async () => { @@ -6,3 +9,33 @@ describe('Inject RUM with Puppeteer', () => { expect(isInjected).toBe(true) }) }) + +async function injectRumWithPuppeteer() { + const ddRUM = fs.readFileSync(RUM_BUNDLE, 'utf8') + const puppeteerBrowser = await browser.getPuppeteer() + let injected = true + + await browser.call(async () => { + const page = await puppeteerBrowser.newPage() + await page.evaluateOnNewDocument( + ` + if (location.href !== 'about:blank') { + ${ddRUM} + window.DD_RUM._setDebug(true) + window.DD_RUM.init({ + applicationId: ${APPLICATION_ID}, + clientToken: ${CLIENT_TOKEN}, + }) + window.DD_RUM.startView() + } + ` + ) + page.on('console', (msg) => { + if (msg.type() === 'error') { + injected = false + } + }) + await page.goto('https://webdriver.io') + }) + return injected +}