Кроссбраузерность. Причины и приемы / Хабр
Топик собрал в себе как всем известные способы кроссбраузерной верстки, так и несколько интересных, довольно редко встречающихся.
Предисловие. Почему так получилось
После появления в 1994 году одного из первых удачных браузеров Netscape Navigator, созданных на основе первого браузера с графической оболочкой Mosaic, копания Microsoft решила сделать свой браузер и назвать его Internet Explorer. Первая и вторая версия IE поставлялись вместе с пакетом Microsoft Plus!, дополняющим возможности Windows, но широкого распространения не получили. Тогда Microsoft решили разработать радикально отличающийся от IE 1.0 и 2.0 браузер, для чего компания наняла программистов из Spyglass, которые разработали новый браузер на основе Mosaic. Так в 1996 году появился Internet Explorer 3.0. Однако разработчики ввели в браузер несовместимые со стандартами расширения HTML, которые впоследствии сохранялись от версии к версии. Последующее параллельное развитие IE и Netscape Navigator привели к захвату IE 95% рынка. Застой в развитии IE с 4.0 до 6.0 версии, с плохой поддержкой стандартов, низкой скоростью работы и отображения страниц, привел к возрождению Netscape в версии 6.0, который был написан на новом движке Gecko. Обновленный Netscape Navigator не смог добиться былых вершин и со временем компания Netscape объявила о прекращении поддержки своего браузера.
Таким образом, каждый из браузеров имеет свою историю, имеет свои версии, которые в свою очередь различаются поддержкой Javascript, HTML и CSS.
На сегодняшний день доля мирового рынка браузеров составляет: 45% для IE, 31% Firefox, 15% Chrome, 5% Safari и 2% Opera.
Отдельно хочется порадоваться о снижении доли на рынке самого «старого» и проблемного браузера IE6, который сейчас занимает всего 6%.
Кроссбраузерность
Под кроссбраузерностью понимается одинаковое отображение и работа сайта в разных браузерах. В данном топике я не буду рассматривать проблемы работы JavaScript в разных браузерах, а остановлюсь на верстке.
Есть два основных способа добиться одинакового отображения сайта в браузерах:
Разделение стилей с помощью условных комментариев
Разделение стилей для разных браузеров – один из самых распространенных способов кроссбраузерной верстки. Суть метода заключается в идентификации вида браузера пользователя и применение соответствующего стиля совместно с основным.
Условные комментарии понимает только IE, поэтому остальные браузеры прочтут этот код как обычные комментарии.
Можно задать стили, которые увидят все браузеры кроме IE:
Также есть возможность идентификации версии IE пользователя: для IE6
для IE6 и выше
для IE меньше чем 6 версии
для IE меньше или равен 6 версии
для IE больше 6 версии
и подключения соответствующего стиля для каждой версии IE(номер версии IE можно поменять на нужный).
Можно избежать необходимости подключения разных CSS-стилей для разных версий IE, определяя версии IE и назначая классы для body:
и используя их в дальнейшем в общем стиле для каждой версии:
.ie6 .elementstyle {
background: #123;
Плюсом данного метода является валидность его использования.
CSS-хаки
Другой, не менее частый способ кроссбраузерной верстки – CSS-хаки, позволяющий определять свойства конкретным элементам.
для IE6:.elementstyle {
_background: #123;
}
или:. elementstyle {
-background: #123;
}
или валидно:* html .elementstyle {
background: #123;
}
для IE7:*+html .style {
background: #123;
}
или валидно:
*:first-child+html . elementstyle {
background: #123;
}
для IE8:.elementstyle {
background: #F12\3/;
}
для Firefox:@-moz-document url-prefix() {
.elementstyle {
background: #123;
}
}
для Safari и Chrome(один движок, помните?):@media screen and (-webkit-min-device-pixel-ratio:0) {
. elementstyle {
background: #123;
}
}
илиbody:last-child:not(:root:root) .elementstyle {
background: #123;
}
для Opera все сложнее. CSS-хаки для Opera понимают Safari и Chrome, поэтому нужно использовать совместно хак для Opera и для Safari\Chrome, чтобы переопределить стиль обратно:
@media all and (min-width:0px) {
head~body . elementstyle {
background: #123;
}
}
body:last-child:not(:root:root) .elementstyle {
background: #fff;
}
Альтернативой этим двум хакам может служить интересный способ определения стилей для Opera с помощью встроенного объекта «opera» в JavaScript:
Способ ненадежный, потому что не будет работать если пользователь отключил JavaScript.
Заключение
В заключении скажу, что в идеале нужно стремиться к отказу от использования хаков и разделения стилей, совершенствуя свои навыки в верстке.
Кроссбраузерность | Введение в тестирование веб-приложений
Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером
vimeo.com/video/773468929″>Видео может быть заблокировано из-за расширений браузера. В статье вы найдете решение этой проблемы.
Мы уже знаем, что сайт может по-разному отображаться на устройствах. Если он корректно адаптируется под разные разрешения экранов, то такой сайт называется адаптивным.
Разные устройства могут различаться не только разрешениями экранов, но и браузерами, с которых происходит выход в интернет. Их огромное количество, например: Google Chrome, Firefox, Safari, Egde, Opera, Vivaldi. Эти браузеры могут по-разному отображать одни и те же элементы на странице.
В этом уроке мы узнаем, что такое кроссбраузерность, и посмотрим на примеры отображения одинаковых элементов в разных браузерах. Также разберем, где тестировщику можно проверить корректное отображение страницы.
В чем отличия браузеров
Основное отличие браузеров — движки, то есть сердце любого браузера. Движок — это код, который обрабатывает страницы, определяет загрузку, рисует сайт, анимирует элементы и определяет стандартные стили для элементов.
Обычно современные браузеры различаются отображением функциональных элементов: окно выборы даты, ввода пароля и так далее. Например, так выглядит элемент выбора значения из диапазона, который по умолчанию есть в HTML, для разных браузеров:
На этом примере установлены только стандартные стили браузеров, но отображение разное. Это касается не только цвета, но и размера элемента. Это может сломать отображение части страницы у пользователя.
Не все элементы меняются настолько кардинально, что могут помешать отображению соседних блоков. Большинство из стилистических отличий не являются критичными, так как функциональность и размеры сохраняются.
Одна из задач разработчика — сделать отображение и работоспособность сайта в разных браузерах одинаковым или близким к этому. Сайт, который одинаково отображается и работает в разных браузерах, называется кроссбраузерным.
Задача тестировщика — проверка сайта в разных браузерах и на разных устройствах. Разберем, на что обращает внимание тестировщик при тестировании кроссбраузерности.
Кроссбраузерность и CSS
Чтобы сайт корректно отображался в разных браузерах разработчику следует учитывать:
За эти пункты отвечает язык CSS — таблица стилей, которая определяет, как правильно визуально должна выводиться информация. К этому относятся шрифт, размеры, цвета, расположение.
Стандартные стили браузера
В примере выше один и тот же элемент имел разные стили в зависимости от браузера. Это не критичная ситуация, но разные стили могут изменить дизайн, что не хорошо.
Чтобы исправить эту ситуацию, разработчики используют сброс стилей — приводят все элементы к единому стилю. Это можно сделать как вручную, так и с помощью уже готовых CSS-стилей, например, Normalize CSS.
При тестировании определяется, насколько критично изменение элементов в разных браузерах.
Работоспособность свойств в разных браузерах
Язык CSS активно развивается и в нем появляются новые свойства. Пока свойство пройдет путь от задумки до окончательной реализации, могут проходить года. Разработчики браузеров стараются вводить в свои движки новые свойства даже до их попадания в окончательную документацию.
Это приводит к тому, что тестировщикам необходимо проверять сайт не только в разных браузерах, но и в разных версиях одного и того же браузера.
В качестве примера посмотрим на поддержку новой возможности в CSS, которая находится в стадии разработки:
Фиолетовым цветом выделены версии браузеров, которые не поддерживают эту возможность. Например, версия Safari 15.6 вышла в конце июля 2022 года, то есть поддержка появилась в последние полгода. Firefox добавил поддержку только в самой последней версии, на которую еще не все пользователи успели перейти.
Проверка стилей браузера позволяет убедиться в том, что сайт будет корректно отображаться в разных браузерах. Необязательно чтобы сайт совпадал на все сто процентов, но нужно учитывать требования компании к сайту или приложению.
Разберем, в каких браузерах проверять сайт или приложение, и какие инструменты помогут тестировщику при тестировании кроссбраузерности.
В каких браузерах проверять кроссбраузерность
Для проверки кроссбраузерной страницы не надо скачивать все известные браузеры во всех версиях. Достаточно поддерживать самые популярные браузеры:
Google Chrome
Safari
Firefox
Если сайт хорошо работает в этих браузерах, то с остальными проблем быть не должно. Дело в том, что эти три браузера работают на трех разных движках:
Эти движки являются самыми распространенными, и почти все браузеры работают на них, например:
Yandex Browser, Microsoft Edge, как и Google Chrome работают на движке Blink
Gnome Web, как и Safari, работает на движке WebKit, что очень удобно при тестировании сайта без устройств от компании Apple
Поэтому нет необходимости держать все браузеры на своем компьютере. Достаточно установить один-два на самым популярных движках.
Не стоит гнаться за очень старыми версиями браузеров. Достаточна поддержка версий до года-двух, так как они обновляются в автоматическом режиме. Посмотрите на главную страницу Хекслета в браузере Internet Explorer 11, который вышел в 2013 году:
Результат выглядит страшно, но полноценная поддержка этого браузера не нужна. Поэтому сайт все равно считается кроссбраузерным, ведь он поддерживает все основные браузеры последних версий.
Кроссбраузерность важна для всех устройств. У мобильных браузеров тоже много специфичных моментов. Например, которые автоматически удаляют рекламные блоки или сокращают время загрузки страницы. При удалении частей сайта браузер может ошибиться и удалить важный контент.
Что тестировать при проверке кроссбраузерности
Не существует строгих критериев того, как сайт должен работать в разных браузерах. Обычно тестировщику нужно проверить работоспособность в определенных версиях. Эти версии определяются в зависимости от пользователей.
Например, государственная организация может использовать очень старые версии браузеров. Если ваш сайт нацелен на эту аудиторию, то необходимо поддерживать работу этих браузеров, даже в ущерб современным тенденциям и технологиям.
При тестировании кроссбраузерности проверяется:
Дизайн. Элементы страницы не должны переноситься, исчезать, менять свою ширину, если это не предусмотрено в дизайне
Функциональность. Все интерактивные элементы должны адекватно работать в разных браузерах: кнопочки нажиматься, меню раскрываться, поля у форм обрабатывать введенный текст
Если у сайта нет конкретных требований по версиям браузеров, то используйте статистику. Поддерживайте те версии, у которых количество пользователей более 3-5%.
Как тестировать кроссбраузерность
Чтобы протестировать разные версии браузеров, используют следующие способы:
На своем устройстве. Можно установить себе на устройство самые популярные браузеры и проверить работу в них
Онлайн-сервисы. Самый популярный сервис — BrowserStack предлагает открытие сайта в самых разных комбинациях «Операционная система + браузер». Сервис платный, но есть бесплатная версия. Она урезанная, но вы можете зарегистрироваться и посмотреть, как это работает
Виртуальные машины. Если ваш сайт нужно тестировать в одних и тех же браузерах, то можно установить виртуальные машины. Плюс данного способа — вы полностью контролируете окружение, в котором работает сайт
Выводы
В этом уроке мы узнали, что такое кроссбраузерность, посмотрели на примеры отображения одинаковых элементов в разных браузерах. Также узнали, где тестировщику можно проверить страницу на кроссбраузерность. Повторим важные моменты:
Браузеры могут по-разному отображать одинаковые, с точки зрения разработки, элементы
Разработчики CSS постоянно работают над новой функциональностью, а разработчики браузеров добавляют эту функциональность к себе. Из-за этого код, который работает в одном браузере, может не работать в другом
Протестировать сайт на кроссбраузерность можно с помощью трех способов:
Использование разных браузеров на своем устройстве
Использование онлайн-сервисов, например, BrowserStack
Использование виртуальных машин. Этот способ хорош, если сайт должен работать в определенной среде
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты.
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
- 130 курсов, 2000+ часов теории
- 1000 практических заданий в браузере
- 360 000 студентов
Электронная почта *
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Наши выпускники работают в компаниях:
Рекомендуемые программы
Профессия
с нуля
Инженер по тестированию
Ручное тестирование веб-приложений
9 марта 4 месяца
Для перемещения по курсу нужно зарегистрироваться
1. Введение ↳ теория
2. Адаптивность страницы ↳ теория / тесты / упражнение
3. Кроссбраузерность ↳ теория / тесты / упражнение
4. HTML/CSS ↳ теория / тесты / упражнение
5. Мультиязычность ↳ теория / тесты / упражнение
6. Скорость соединения ↳ теория / тесты / упражнение
7. Гипертекст ↳ теория / тесты / упражнение
8. Single Page Application ↳ теория / тесты / упражнение
9. Формы ↳ теория / тесты / упражнение
10. CRUD ↳ теория / тесты / упражнение
11. Уязвимости на странице ↳ теория / тесты / упражнение
12. Протокол HTTPS и передача данных по сети ↳ теория / тесты
13. Сессии ↳ теория / тесты / упражнение
14. Виды тестирования ↳ теория / тесты / упражнение
Подробное руководство с примерами и рекомендациями
ОБЗОР
Кроссбраузерная совместимость означает, что веб-сайт или веб-приложение будут выглядеть и работать без проблем и единообразно в любом браузере. HTML, CSS и JavaScript веб-сайта должны быть совместимы в разных браузерах.
Если веб-сайт несовместим с определенным браузером, у пользователей могут возникнуть проблемы с функциональностью, которые могут привести к тому, что пользователь покинет веб-сайт или перейдет на другой. Это может негативно сказаться на бизнесе и репутации бренда. Также иногда это исключает доступ пользователей к сайту.
В этом руководстве подробно рассматривается тестирование совместимости браузеров. Это поможет вам понять, что приводит к проблемам с кросс-браузерной совместимостью, почему компании не могут позволить себе расслабляться с браузерной совместимостью и как правильно проводить кросс-браузерное тестирование.
Содержание
- Что такое кроссбраузерная совместимость?
- Что приводит к проблемам совместимости браузера?
- Почему кроссбраузерная совместимость важна для веб-сайтов?
- Как работают браузеры?
- Наиболее распространенные проблемы кроссбраузерной совместимости
- Кроссбраузерное тестирование
- Как разработать стратегию кроссбраузерного тестирования?
- Приоритет браузеров
- Масштабирование тестирования совместимости вашего браузера с помощью LambdaTest
- Заключение
Что такое кроссбраузерная совместимость?
Цифровизация значительно выросла за последние два десятилетия. В 1998 году насчитывалось 2,4 миллиона веб-сайтов и 147 миллионов активных пользователей, что увеличилось до 1,9 миллиона.4 миллиарда активных веб-сайтов в Интернете и 5,07 миллиарда активных интернет-пользователей, что составляет почти 63,1% населения мира.
И эти активные пользователи используют Интернет или открывают веб-контент из более чем 3000 браузеров, ОС или устройств. Таким образом, основная проблема заключается в том, видят ли пользователи ваш сайт именно так, как вы хотите.
Веб-разработка привела к появлению различных технологий, которые использовались для создания различных инструментов или браузеров для отображения контента в Интернете. К сожалению, эти технологии иногда несовместимы друг с другом. И именно поэтому один и тот же сайт может работать по-разному в разных браузерах. Вот почему появились термины, называемые кросс-браузерной совместимостью.
Одна из задач разработчика — обеспечить одинаковый пользовательский интерфейс во всех существующих браузерах. Таким образом, каждый браузер и его механизм рендеринга интерпретируют один и тот же веб-сайт по-разному. Таким образом, веб-сайт имеет кросс-браузерную совместимость, если интерпретируется соответствующим образом в каждой веб-среде.
Что приводит к проблемам совместимости браузера?
В 1994 году Netscape выпустила первую версию своего браузера, доминировавшего на всем рынке, пока не появился его конкурент, Internet Explorer. Это была первая официальная война браузеров. После этого были запущены Opera и многие другие браузеры, но IE доминировал на рынке.
В 2003 году Apple запустила Safari; Теперь Apple предлагала свой браузер вместо Netscape, которым они пользовались раньше. В 2004 году Mozilla запустила браузер с открытым исходным кодом под названием Firefox, а в 2008 году Google выпустила Chrome; после этого Internet Explorer не смог сохранить свой рынок.
IE никогда не следовал рекомендациям W3C, поэтому веб-сайт, созданный в эпоху IE, начал показывать проблемы при отображении в разных браузерах. Это привело к проблемам с совместимостью браузера.
Итак, у каждого браузера есть свое намерение запуска и технология, на которой он был разработан. Если вы посмотрите на активные в данный момент браузеры, то заметите, что у каждого браузера свой движок рендеринга и движок JavaScript, которые по-разному отображают веб-сайты. Например, в Google Chrome и Opera есть Blink; В Safari есть WebKit.
Таким образом, каждый браузер по-разному интерпретирует HTML, JavaScript и CSS и выдает разные результаты, а иногда это не работает в конкретном браузере. Вы можете проверить оценку совместимости браузера вашего веб-сайта с фоновым приложением LambdaTest CSS.
Почему кроссбраузерная совместимость важна для веб-сайтов?
Каждый бизнес хочет расширяться в цифровом формате. Кроссбраузерная совместимость — это средство, обеспечивающее бесперебойную работу предприятий для каждого потребителя, независимо от того, какое устройство или браузер они используют для просмотра веб-страниц. Пользователи могут посещать веб-сайт из любого браузера, версии браузера, устройства или операционной системы.
- Пользовательский опыт: Совместимость с браузером напрямую связана с функциональностью веб-сайта и пользовательским опытом.
- Преимущество в конкурентной борьбе: Ваш конкурент может не указывать устаревшую macOS X в своем списке тестирования, но вы это делаете. Это вы повышаете ценность опыта для 12,2% людей во всем мире. Доступность в других веб-средах увеличивает преимущества перед вашими конкурентами.
- Геолокация и популярность браузера: Как упоминалось выше, если 63,1% населения активно используют небольшой Интернет, процент пользователей любого браузера может составлять обширную группу пользователей.
- Версия браузера и использование: Не обязательно, чтобы после появления на рынке обновлений браузера все переходили на эту версию. Как видно из этих данных, пользователей Chrome 96.0 больше, чем Chrome 103.0.
- Подъем мобильного устройства: Пользователи также заходят на сайт с мобильных устройств; 58,99% веб-трафика поступает с мобильных устройств только во втором квартале 2022 года. Крайне важно, чтобы браузер веб-сайта также был совместим с мобильными устройствами.
- Репутация бренда: С точки зрения бизнеса веб-сайт является лицом компании. В прошлом многие компании сталкивались с огромными потерями из-за проблем с совместимостью браузеров, потому что плохое взаимодействие с веб-сайтом приводило к плохому опыту работы с брендом.
- Производительность и SEO: Если веб-сайт несовместим, он не будет доступен большему количеству пользователей, что может привести к снижению рейтинга SEO в Google. Потому что браузеры используют «количество посетителей» для определения релевантности и важности веб-страницы.
Использование браузера также зависит от геолокации. Например, самыми популярными браузерами во всем мире являются Chrome, Safari и Edge. Таким образом, вы можете подумать, что это единственный браузер, о котором вам нужно позаботиться. Однако эти данные могут ввести в заблуждение для вашего веб-сайта при запуске в Китае.
Как видно из данных, доля UC Browser на мировом рынке составляет всего 0,83%, но в Китае она значительно выше, возможно, на уровне Safari.
Кроме того, если определенный веб-элемент не работает в некоторых браузерах, это может вызвать у пользователей негативный опыт, который увеличивает «показатель отказов» веб-сайта и влияет на общий рейтинг в браузере.
Чтобы лучше понять это, вы должны понимать браузер и его рабочий процесс.
Как работают браузеры?
Браузеры — это программное обеспечение, которое позволяет пользователям взаимодействовать с содержимым, хранящимся во Всемирной паутине. Таким образом, чтобы понять проблемы совместимости браузеров, необходимо знать, как работают браузеры и механизмы рендеринга.
Существует общий рабочий процесс для любого браузера, как указано ниже:
- Когда пользователь открывает любой веб-сайт, сетевой уровень передает содержимое документов механизму визуализации и создает дерево содержимого.
- Механизм рендеринга анализирует компоненты HTML и преобразует их в узлы DOM в дереве содержимого. Дерево рендеринга создается с использованием визуальных данных, стилей и данных стилей из внутреннего и внешнего CSS, которые были обработаны.
- Внутри визуализируемого дерева размещаются прямоугольники определенных цветов и размеров. Чтобы они правильно отображались на экране, они должны быть в правильном порядке.
- После построения визуализированного дерева оно переходит к этапу компоновки, где каждому узлу присваиваются точные координаты, в которых они должны отображаться на экране.
- Покраска — последний шаг. Как правило, роспись выполняется в определенном порядке. В соответствии с кодом на внутреннем уровне пользовательского интерфейса будет создан каждый узел в дереве рендеринга.
У нас есть специальный блог, чтобы вы могли понять, как работают браузеры с помощью движка рендеринга и движка JavaScript.
Наиболее распространенные проблемы кросс-браузерной совместимости
Для веб-сайтов на серверной части работают сотни технологий, таких как Python, Ruby и т. д. Однако любой веб-сайт включает три основных языка, а именно:
- Java
- HTML
- CSS
И эти языки являются причиной того, что каждый механизм рендеринга отображает веб-сайт по-разному.
При создании веб-сайтов вы можете решить одну проблему:
- Использование валидаторов и линтеров при написании кода помогает выявить общие проблемы, такие как синтаксические ошибки или неправильный код. Вы можете использовать службу проверки разметки W3S для проверки своих HTML-кодов, для проверки CSS вы можете использовать службу проверки CSS W3S.
- При поиске ошибок в написанном скрипте используйте «инструменты разработчика» браузера. Ошибка, обнаруженная в devtool, может быть серьезной причиной несовместимости между браузерами, поскольку элемент может быть недопустимым для браузера.
- Элементы CSS по-разному реагируют в разных браузерах. «CSS overscroll-behavior» и «CSS display: content» и т. д. не поддерживаются в версиях Google Chrome. Неподдерживаемые элементы CSS могут повлиять на совместимость веб-сайтов с браузерами.
- При использовании стороннего кода часто обнаруживается, что HTML-код, созданный сторонним приложением, имеет идентификатор класса или имя, которое вы используя в своем коде по другой причине. Поскольку ошибок не будет, это может быть серьезной проблемой, которую трудно устранить, поскольку различные способы отображения HTML в разных браузерах могут привести к проблемам.
В Интернете существует множество линтеров для HTML, CSS и Java, таких как Dirty Markup, CSS Lint и т. д.
Список элементов CSS, которые новые версии Google Chrome не поддерживают
Узнайте больше о проблемах кроссбраузерной совместимости.
После того, как веб-сайт будет разработан с помощью HTML, CSS и JavaScript с использованием CSS3 и HTML5, есть вероятность, что это может вызвать различные проблемы совместимости, такие как вы читали ранее. Но если вы выполните несколько минимальных шагов, вы сможете избежать многих проблем с кросс-браузерной совместимостью.
Вот некоторые моменты, которые вы должны учитывать, чтобы сделать веб-сайт совместимым с браузером:
- Неподдерживаемые функции: Вы, вероятно, обнаружили, что ваш веб-сайт должен правильно работать в определенных браузерах при проведении кросс-браузерного тестирования. Причиной может быть использование технологий и функций, которые не поддерживаются некоторыми браузерами. Поэтому, если ваш веб-сайт не работает должным образом во всех браузерах, вы должны выявить проблему.
- Добавление DOCTYPE: Добавьте DOCTYPE в свой HTML-файл. DOCTYPE существенно помогает вашему браузеру определить язык, используемый для кодирования вашего веб-сайта. Если вы укажете это, некоторые браузеры уже поймут это, но некоторые браузеры смогут понять только то, что произошло, и негативно отобразят определенную часть вашего веб-сайта.
- Использование сброса CSS: Сброс CSS может помочь решить различные проблемы совместимости. Вы могли заметить, что некоторые элементы, такие как кнопки отправки, часто выглядят иначе в других браузерах из-за CSS. Следовательно, CSS может быть виноват, если некоторые элементы неправильно отображаются в разных браузерах. Применение сброса CSS указывает каждому браузеру удалить стиль по умолчанию, что приводит к несовместимости между браузерами.
- Обнаружение браузера: JavaScript иногда не может обнаружить старые версии браузеров, что может вызвать проблемы совместимости. Но справиться с этим легко; уберите задержку браузера и вместо этого добавьте Mordenizer. Это библиотека обнаружения функций, которая сделает работу гладкой.
- Обнаружение браузера: Проблема с поддержкой макета связана с неотзывчивым дизайном на мобильных устройствах или отсутствием поддержки макета в современных браузерах. Вы можете решить эту проблему, используя специальный механизм макета, такой как сетка CSS или Flexbox, которые поддерживаются большинством современных браузеров.
- Кроссбраузерная библиотека: Большинство веб-сайтов разрабатываются с использованием сторонних библиотек и фреймворков. Использование неправильной или недружественной альтернативы может привести к несовместимости браузера. Поэтому рекомендуется использовать доверенные библиотеки и фреймворки, такие как AngularJS, ReactJS — дружественные к браузеру фреймворки, а Bootstrap и Animate — доверенные библиотеки CSS.
Здесь вы можете узнать больше о том, как сделать ваш веб-сайт совместимым с браузером.
Кросс-браузерное тестирование
Вы узнали о браузерах, проблемах совместимости и о том, что может сделать браузер вашего веб-сайта совместимым. Но как только веб-сайт будет готов, необходимо протестировать его для различных браузеров, устройств и ОС. Это известно как кросс-браузерное тестирование.
Кросс-браузерное тестирование необходимо. Если веб-сайт несовместим с какой-либо веб-средой, это может негативно сказаться на пользователях. А одно исследование Zendesk показывает, что 50% клиентов переходят на другой продукт из-за негативного пользовательского опыта.
Веб-сайт можно протестировать как вручную, так и автоматически. При ручном тестировании тестер проверяет каждый веб-элемент вручную, а при автоматическом тестировании тестировщик пишет тестовый сценарий и использует инструменты автоматизации для выполнения тестов.
Правильный инструмент и структура для тестирования совместимости браузеров сделают выполнение теста более плавным и быстрым. Существуют различные среды тестирования с открытым исходным кодом, такие как Selenium, Playwright, Cypress и т. д. LambdaTest — лучший в Интернете инструмент кросс-браузерного тестирования для автоматизированного тестирования.
Как разработать стратегию кросс-браузерного тестирования?
Чтобы выполнить кросс-браузерное тестирование, вы должны изучить и спланировать его. Какой у тебя ТГ? Какие браузеры вы используете? кросс-браузерное тестирование направлено на поиск ошибок и проверку работоспособности сайта. Обычно весь процесс тестирования делится на три этапа:
- Разработка веб-сайта: Помните о конкретной аудитории, устройстве и цели.
- Тестирование в локальной среде: После разработки разработчики передают веб-сайт тестировщику для тестирования в локальной среде перед развертыванием.
- Тестирование в каждом браузере: После прохождения уровня 2 тестер проверяет его для каждого возможного браузера или веб-среды, откуда их целевая аудитория может получить доступ к веб-сайту.
Приоритизация браузеров
Обычно при тестировании браузеров 80% браузеров содержат 20% ошибок, а 20% остальных содержат 80% ошибок, поэтому необходимо приоритизировать браузеры. Вот две вещи, о которых следует помнить при разработке стратегии браузеров:
- Перед выполнением любого кросс-браузерного тестирования вам необходимо определить приоритеты браузеров. Например, в месте, где вы запускаете свой веб-сайт, преобладает Google Chrome, поэтому ошибка браузера недопустима. Вы можете использовать такие инструменты, как Google Analytics, чтобы получать данные о том, какие браузеры чаще всего используют пользователи.
И ваш список приоритетов тестирования будет следовать порядку ранжирования браузеров по доле рынка. Если Safari является вторым наиболее часто используемым браузером, он будет вашим вторым приоритетом. - Существует три типа браузеров в зависимости от их совместимости:
- Браузер с высоким уровнем риска
- Браузер со средним уровнем риска
- Браузер с низким уровнем риска
автоматически решаться в браузерах с низким или средним уровнем риска. После определения приоритетов браузеров вы должны разработать стратегию тестирования браузера для различных тестовых сценариев.
Вот стратегия, позволяющая ускорить и упростить кросс-браузерное тестирование:
Выберите браузер и тестовый сценарий : Изучите браузер, как описано выше, и для тестового сценария сначала выполните тест для наиболее критического сценария. Учитывайте такие факторы, как требования времени, анализ тестовых данных и инструменты для выполнения теста. В критических сценариях вероятность ошибки выше, и тестер может передать ее разработчикам для устранения.
Виртуальные машины и эмуляторы : Рекомендуется настроить виртуальную среду с другими настройками браузера и собственной версией операционной системы. Чтобы имитировать другие браузеры, вы можете использовать надстройки или расширения браузера при тестировании веб-сайтов в разных комбинациях браузеров и ОС; эмуляторы и виртуальные машины — лучшие варианты для решения проблем кроссбраузерной совместимости.
Мобильный первый подход : Использование мобильных устройств растет, поэтому необходимо также проверить совместимость веб-сайта с мобильными устройствами. Тестирование совместимости веб-сайта на реальных мобильных устройствах — оптимальное решение. Группа тестирования и разработки часто использует эмуляторы из внешних источников.
Автоматизация и параллельное выполнение тестов : Ручные тесты требуют больших человеческих усилий и включают повторяющиеся задачи и человеческие ошибки. Вместо этого среды автоматизации, такие как Selenium, Cypress и Playwright, могут помочь запустить тест автоматически для всех возможных сценариев. Параллельное тестирование помогает сократить время выполнения теста, выполняя тест в нескольких браузерах и на нескольких устройствах одновременно.
Это были шаги к умному и эффективному браузеру стратегий. Вот как вы можете выполнять кросс-браузерные тесты с высокоэффективными и надежными результатами.
Масштабируйте тестирование браузера с помощью LambdaTest
Вы можете использовать скорость тестирования и облако LambdaTest, которое является самой быстрой и эффективной платформой для кросс-браузерного тестирования, где вы можете тестировать совместимость браузера с более чем 3000 браузерами, ОС, и комбинации:
- Выполните тестирование браузера в режиме реального времени на более чем 3000 браузеров, ОС и комбинации устройств
- Протестируйте свой веб-сайт на реальном устройстве из облака устройств LambdaTest.
- Запустите параллельный тест и сократите время выполнения в несколько раз.
- Быстрое выполнение с помощью HyperExecute, которое может сократить время выполнения до 70%.
- Отслеживайте и собирайте данные, связанные с тестированием, с помощью тестовой аналитики LambdaTest.
Заключение
Цифровой мир постоянно меняется и обновляется; каждый год выпускаются новые версии, устройства, ОС и новые технологии. В новых версиях многие элементы могут быть объявлены устаревшими, а многие элементы, ранее не поддерживаемые в разных браузерах, могут стать кроссбраузерными. Чтобы убедиться, что кросс-браузерное тестирование важно.
Здесь вы узнали о совместимости браузеров, ее важности, а также о некоторых общих проблемах и решениях. Кроме того, вы узнали о кросс-браузерном тестировании и стратегиях его эффективного выполнения. Мы упомянули различные блоги, чтобы подробно изучить каждую тему. Мы надеемся, что это руководство поможет лучше понять совместимость браузеров. Вы также можете узнать о различных средствах автоматизированного тестирования, таких как selenium, Cypress и Appium, на канале LambdaTest YouTube
Часто задаваемые вопросы (FAQ)
Что такое совместимость браузера в HTML?
Способность определенного веб-сайта полностью функционировать в различных браузерах, предлагаемых на рынке, называется совместимостью браузера. Это означает, что HTML-код веб-сайта и любые сценарии на нем должны быть совместимы с функциями браузера.
Почему важна совместимость браузера?
Посетители вашего веб-сайта получат наилучшие впечатления, если ваш веб-дизайнер позаботится о том, чтобы он был совместим с браузером. Посетители быстрее покинут вашу страницу, если сайт не работает должным образом. Кроме того, они могут посетить веб-сайт, принадлежащий конкуренту.
Что вы подразумеваете под совместимостью браузера?
Совместимость с браузером означает, что ваш веб-сайт может быть эффективно «переведен» через определенный браузер или операционную систему, что обеспечивает доступ к нему и его полную функциональность для пользователя. Веб-сайт может работать безупречно в одном браузере, но иметь проблемы и ошибки в другом.
Как найти функции совместимости браузера?
Разработчики могут использовать поддержку обнаружения функций для тестирования новых технологий и создания запасных вариантов для браузеров, которые не поддерживают эти технологии. Modernizr полезен тем, что позволяет легко определить, совместима ли новая функция с браузером.
Как исправить несовместимые браузеры?
Устаревшие браузеры обычно создают проблемы несовместимости браузеров, поэтому обновление браузера и операционной системы может решить некоторые проблемы несовместимости. Очистите кеш и файлы cookie, а также отключите расширения и надстройки, иногда они также могут привести к несовместимости браузера.
3 способа сделать веб-сайты, совместимые с разными браузерами
Автор Jash Unadkat, участник сообщества — 15 февраля 2023 г.0003
Может возникнуть вопрос – почему мой сайт выглядит по-разному в разных браузерах? Что ж, ответ прост.
- Каждый браузер имеет разные механизмы рендеринга. (Браузеры на основе Chromium, такие как Google Chrome и Mircosoft Edge, используют Blink, тогда как браузер Safari использует WebKit)
- Каждый движок обрабатывает код, написанный для других веб-сайтов, по-своему.
- Такие браузеры, как Chrome, Safari и Edge, часто по-разному интерпретируют или отображают исходный код веб-сайта (HTML и CSS).
- Поскольку механизм каждого браузера интерпретирует и отображает веб-страницу по-своему, один и тот же веб-сайт может выглядеть, восприниматься и функционировать по-разному в разных браузерах.
- ОС посетителя также играет ключевую роль в том, как веб-сайт выглядит по-разному в разных браузерах.
Вот почему кросс-браузерная совместимость не подлежит обсуждению для любого онлайн-бизнеса, поскольку хороший веб-сайт должен выглядеть и функционировать одинаково на любой комбинации устройства, браузера и ОС. Прежде чем понять, как сделать веб-сайты кроссбраузерными, давайте обсудим, что такое тестирование совместимости веб-сайтов и почему его необходимо выполнять.
Что такое тестирование совместимости веб-сайтов?
Проверка совместимости веб-сайта или браузера проверяет, совместим ли веб-сайт со всеми браузерами и версиями браузеров. Сегодня доступ к веб-сайту осуществляется с различных устройств, таких как настольные компьютеры, мобильные устройства, iPad и планшеты. Каждое из этих устройств имеет разный размер экрана. Поэтому важно протестировать веб-сайт в разных браузерах устройств, чтобы убедиться, что он выглядит и работает одинаково для всех пользователей, независимо от браузера или версии браузера, из которого осуществляется доступ к веб-сайту.
Зачем нужен кроссбраузерный веб-сайт?
Использование веб-сайтов увеличилось в геометрической прогрессии за последние пару десятилетий. Поскольку во всем мире уже используется более 1,98 миллиарда веб-сайтов, рост числа веб-сайтов не замедляется. И из-за постоянно растущей степени фрагментации устройств люди просматривают этот контент с тысяч устройств с доступом в Интернет, работающих в уникальных браузерах.
У каждого браузера есть версии для мобильных и настольных компьютеров. Естественно, у каждого браузера есть свой способ отображения содержимого HTML.
Вот где возникает основная проблема с точки зрения владельца бизнеса –
- Могут ли пользователи (посещающие веб-сайт с тысяч комбинаций браузеров устройств) получить доступ к веб-сайту наилучшим образом?
- Все ли функции веб-сайта доступны в популярных браузерах, таких как Chrome, Firefox, Safari, Edge и т. д.?
Очень важно, чтобы веб-страница работала безупречно в различных комбинациях устройств и браузеров. Это не только укрепляет доверие к бренду, но и гарантирует, что владельцы бизнеса сделают все возможное, чтобы удовлетворить потенциальных клиентов и увеличить доход.
Как сделать сайт совместимым со всеми браузерами?
Перед импульсивным запуском тестов на случайных браузерах командам необходимо ответить на два важных вопроса:
- Кто является целевой аудиторией?
- Какова текущая доля рынка браузеров среди целевой аудитории?
Группам контроля качества следует рассмотреть возможность тестирования своих веб-сайтов в браузерах, которые охватывают максимальную долю рынка.
Например, принимая во внимание текущую долю рынка браузеров по всему миру, командам было бы более целесообразно тестировать свои веб-сайты в Chrome, Safari, Firefox и Edge в приоритетном порядке.
- Это связано с тем, что рыночная доля этих трех браузеров составляет 90% от общей доли рынка браузеров.
- Это не означает, что следует вообще избегать тестирования в оставшихся браузерах, таких как Opera, браузер UC и т. д.
- Команды должны расставить приоритеты, какие из них тестировать в первую очередь и наиболее интенсивно. Если вы используете HTML для создания своего веб-сайта, вы должны научиться тестировать HTML в разных браузерах и внедрять их для улучшения совместимости веб-сайта.
Ниже приведены три способа, с помощью которых команды могут сделать веб-сайты совместимыми с популярными браузерами:
- Использование эмуляторов браузеров мобильных и настольных компьютеров для каждого браузера
- Настройка локальных лабораторий устройств
- Использование платформа, позволяющая выполнять кроссбраузерное тестирование в браузерах, установленных на реальных устройствах.
Эмуляторы браузеров помогают проверить, как ваш веб-сайт выглядит и работает в разных браузерах. Однако ручная загрузка эмуляторов настольных и мобильных браузеров и тестирование веб-страниц на каждом из них требует много времени и усилий. Это может привести к нарушению сроков и задержке релизов.
С другой стороны, команды также могут создавать локальные лаборатории устройств и регулярно обновлять их в соответствии с рыночными тенденциями. Однако этот вариант обычно дорог для небольших организаций, поскольку требует значительных постоянных инвестиций.
Лучшей альтернативой является выбор облачных платформ, таких как BrowserStack, которые предоставляют командам реальное облако устройств для кросс-браузерного тестирования. BrowserStack предоставляет более 3000 реальных устройств и браузеров (Chrome, Firefox, Safari, Edge и т. д.) для тестирования.
- QA получают мгновенный доступ к браузерам, установленным на реальных мобильных устройствах Android и iOS и настольных устройствах.
- Они могут выполнять живое ручное тестирование своих веб-сайтов в браузерах, работающих на реальных мобильных и настольных устройствах.
- Это позволяет командам тестировать веб-сайты в реальных пользовательских условиях.
- Кроме того, команды могут использовать Cloud Selenium Grid для выполнения автоматических кросс-браузерных тестов на нужных комбинациях браузер-устройство.
Тест браузерной совместимости веб-сайта бесплатно
Для тестирования необходимо выбрать желаемую платформу (iOS, Android, Windows, macOS) и версию браузера.
Ниже можно обратиться к облачной инфраструктуре BrowserStack для тестирования на ОС Windows и macOS для браузеров Chrome, Edge, Safari и даже Opera.
QA и SDET могут быстро получить доступ к последним бета-версиям Safari 16, Chrome 110 или Mozilla Firefox 110 и 111.
Также давайте посмотрим на пример сеанса Chrome, работающего на реальном устройстве Samsung Galaxy.
QA также могут тестировать такие функции, как IP-геолокация, масштабирование и вращение устройства, что обеспечивает интерактивное и интуитивно понятное тестирование.