Cypress.isBrowser
Cypress.isBrowser проверяет, соответствует ли текущий браузер заданному имени или фильтру.
Синтаксис
Cypress.isBrowser(matcher)
Cypress.isBrowser(matchers)
Cypress.isBrowser(filter)
Аргументы
matcher (Строка)
Имя браузера (регистронезависимое), с которым нужно сравнить. Имя можно префикснуть символом ! для инверсии проверки.
matchers (Массив)
Массив имён браузеров (регистронезависимые), с которыми нужно сравнить. Имя можно префикснуть символом ! для инверсии проверки.
filter (Объект или Массив)
Фильтрация одного или нескольких браузеров по свойствам браузера. Вы можете проверить свойства текущего браузера, используя Cypress.browser. Поддерживаемые свойства:
| Свойство | Тип | Описание |
|---|---|---|
name |
string |
Имя, понятное для машины, например, chrome, electron, или firefox. |
family |
string |
Используемый движок рендеринга. chromium или firefox. |
channel |
string |
Канал выпуска браузера, например, stable, dev, или canary. |
displayName |
string |
Понятное для человека имя браузера. |
version |
string |
Полная версия. |
path |
string |
Путь к браузеру на диске. Пустая строка для Electron. |
majorVersion |
number |
Основной номер версии браузера. |
isHeadless |
boolean |
Запущен ли браузер в бессерверном режиме. |
isHeaded |
boolean |
Отображается ли браузер в режиме с интерфейсом. |
Примеры
Matcher
Выполнять команду только в Chrome
it('download extension link', () => {
// true when running in Firefox
if (Cypress.isBrowser('firefox')) {
cy.get('#dl-extension').should('contain', 'Download Firefox Extension')
}
// true when running in Chrome
if (Cypress.isBrowser('chrome')) {
cy.get('#dl-extension').should('contain', 'Download Chrome Extension')
}
})
Выполнять команду во всех браузерах, кроме Chrome
it('warns to view page in Chrome browser', () => {
// true when running in Firefox, etc...
if (Cypress.isBrowser('!chrome')) {
cy.get('.browser-warning').should(
'contain',
'For optimal viewing, use Chrome browser'
)
}
})
Matchers
Выполнять команды во всех указанных браузерах
it('colors rainbow', () => {
// true when running in Electron or Chrome
if (Cypress.isBrowser(['electron', 'chrome'])) {
cy.get('.rainbox').should(
'have.css',
'conic-gradient(red, orange, yellow, green, blue)'
)
}
})
Выполнять команды во всех браузерах, кроме указанных
// true when running in browser other than chrome and electron
it('does not run in Firefox and Chrome', () => {
if (Cypress.isBrowser(['!electron', '!chrome'])) {
cy.get('#h4').should('have.css', 'font-size-adjust', '0.5')
}
})
Фильтр
Выполнять команды только в браузерах на основе Chromium
it('has CSS reflections', () => {
// if in Chromium-based browser (Chrome, Electron, etc...)
// check css property was properly applied
if (Cypress.isBrowser({ family: 'chromium' })) {
cy.get('.header').should('have.css', '-webkit-box-reflect', 'left')
}
})
Выполнять только на стабильной версии в браузерах на основе Chromium
it('test', () => {
// true when in any stable release of a Chromium-based browser
if (Cypress.isBrowser({ family: 'chromium', channel: 'stable' })) {
// test some (hypothetical) scenario in chrome stable
}
})
Выполнять только на определённых каналах выпуска браузеров
it('test', () => {
// true when running in Chrome Canary
// and dev releases of Firefox browser
if (
Cypress.isBrowser([
{ family: 'chromium', channel: 'canary' },
{ family: 'firefox', channel: 'dev' },
])
) {
// test some (hypothetical) scenario
}
})
Примечания
Конфигурация теста: browser
Если нужно нацелить тест или набор тестов на выполнение или исключение при запуске в определённом браузере, рекомендуется передать browser в настройках конфигурации теста. Опция browser принимает те же аргументы, что и Cypress.isBrowser().
it('Download extension in Firefox', { browser: 'firefox' }, () => {
cy.get('#dl-extension').should('contain', 'Download Firefox Extension')
})
it('Show warning outside Chrome', { browser: '!chrome' }, () => {
cy.get('.browser-warning').should(
'contain',
'For optimal viewing, use Chrome browser'
)
})
История
| Версия | Изменения |
|---|---|
| 4.8.0 | Расширены аргументы matcher и matchers для улучшения фильтрации браузеров. |
| 4.0.0 | Добавлена команда isBrowser . |
См. также
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/cypress-api/isbrowser