Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Подключение @wdio/devtools-service #789

Closed
kirill-lalala opened this issue Sep 21, 2023 · 4 comments
Closed

Подключение @wdio/devtools-service #789

kirill-lalala opened this issue Sep 21, 2023 · 4 comments

Comments

@kirill-lalala
Copy link

Добрый день, как я могу подключить @wdio/devtools-service?
Нужна возможность использовать browser.emulateDevice(), но сейчас нет доступа до этого метода, тк не подключен devtools-service. Cоответсвенно ловлю browser.emulateDevice is not a function.
Спасибо

@DudaGod
Copy link
Member

DudaGod commented Sep 21, 2023

Привет.

Подключить сервисы wdio к hermione возможности нет. Они подключаются только к wdio раннеру как плагины. В hermione wdio используется просто как API для общения с браузерами.

Логика работы emulateDevice

Все что делает emulateDevice так это просто в desiredCapabilities поля докидывает.
Код emulateDevice - https://github.com/webdriverio/webdriverio/blob/e61e1e4173a77c5bb42b32fba900d5ebfdae75b8/packages/wdio-devtools-service/src/index.ts#L165-L184.
Настройки девайсов берет из puppeteer - https://github.com/puppeteer/puppeteer/blob/c505c85b31eafe4b8e23a080b18887154507a851/packages/puppeteer-core/src/common/Device.ts#L27.

В итоге вместо этого можно написать что-то типа такого:

// .hermione.conf.ts

import { KnownDevices } from 'puppeteer-core'

browsers: {
  chrome: {
    desiredCapabilities: {
      browserName: 'chrome',
      browserVersion: '101.0',
      'goog:chromeOptions': {
        mobileEmulation: {
          ...KnownDevices['Pixel 5']
        }
      }
    }
  }
}

@kirill-lalala
Copy link
Author

Спасибо за ответ!
Но что делать если я хочу подменить user-agent только для определенного теста?

@DudaGod
Copy link
Member

DudaGod commented Sep 22, 2023

Но что делать если я хочу подменить user-agent только для определенного теста?

Завести отдельный браузер с необходимым userAgent и запускать тест в нем. В рантайме для одного из тестов настройки браузера поменять нельзя.

@DudaGod DudaGod closed this as completed Sep 22, 2023
@kirill-lalala
Copy link
Author

Благодарю за ответ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants