Skip to content

Can't use devTools with multiremote #5505

@vojtech-cerveny

Description

@vojtech-cerveny

Environment (please complete the following information):

  • WebdriverIO version: 6.1.17
  • Mode: WDIO Testrunner
  • If WDIO Testrunner, running sync/async: sync/async
  • Node.js version: v12.13.1
  • Browser name and version: Chrome latest
  • Platform name and version: Ubuntu 18.04
  • Additional wdio packages used (if applicable):
    "@wdio/cli": "^6.1.17",
    "@wdio/devtools-service": "^6.1.14",
    "@wdio/local-runner": "^6.1.17",
    "@wdio/mocha-framework": "^6.1.17",
    "@wdio/spec-reporter": "^6.1.14",
    "@wdio/sync": "^6.1.14",

Config of WebdriverIO

  runner: 'local',
  services: ['devtools'],  
  capabilities: {
    creator: {
      capabilities: {
        browserName: 'chrome',
      },
    },
    spectator: {
      capabilities: {
        browserName: 'chrome',
      },
    },
  },

Describe the bug
It is not possible to use devTools using multiremote. If I add cdp fuction, it returns creator.cdp is not a function

ERROR @wdio/devtools-service: Couldn't connect to chrome: TypeError: Cannot read property 'goog:chromeOptions' of undefined
    at findCDPInterface (/home/vojtech-cerveny/Documents/dev/bee/bee-plugin-frontend/node_modules/@wdio/devtools-service/build/utils.js:33:52)
    at DevToolsService.before (/home/vojtech-cerveny/Documents/dev/bee/bee-plugin-frontend/node_modules/@wdio/devtools-service/build/index.js:64:61)
   ....

To Reproduce

/* global creator, spectator */

describe('Network monitoring', () => {
  it('should have the right title', () => {

    creator.cdp('Network', 'enable')
    creator.on('Network.responseReceived', params => {
      console.log(`Loaded ${params.response.url}`)
    })
    creator.url('http://url/')

    // I need to wait for something from Network, and parse it and use it in second remote. 
    // spectator.url('https://webdriver.io/docs/multiremote.html')
    // expect(creator).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js')

    // spectator.url('https://webdriver.io/docs/multiremote.html')
    // expect(spectator).toHaveTitle('Multiremote · WebdriverIO')
  })
})

Expected behavior
It should be possible to use devtools with multiremote.

Log
https://gist.github.com/vojtech-cerveny/c57391969a2b8682fcfe2c164d44728d

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Bug 🐛Expensable $25 💸good first picka reasonable task to start getting familiar with the code basehelp wantedIssues that are free to take by anyone interested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions