Вы можете поверить, что веб-разработчикам, использующим Windows в качестве основной ОС, это легко сделать при тестировании Internet Explorer; просто нажмите на синюю букву «Е» и отправляйтесь в город. Это могло бы быть правдой, если бы им пришлось беспокоиться только о версии IE на своем ПК, но мы все знаем, что это не так. В зависимости от потребностей вашего проекта вам может потребоваться обеспечить совместимость с IE6 по IE10, что, безусловно, создает некоторые проблемы. Как мы справимся с этим?
Теперь, если вы работаете в Windows, у вас определенно есть преимущество, потому что, по крайней мере, вы можете непосредственно протестировать определенную версию IE, но это совершенно другая игра, если вы работаете на Mac или Linux.
Что я хочу сделать, так это изучить различные способы тестирования Internet Explorer на популярных платформах и предложить предложения о том, как снизить сложность тестирования для нескольких версий браузера.
Версии, Версии, Версии …
Мы все знаем, что тестирование сложно.
В Internet Explorer используется несколько версий, каждая со своим уровнем причуд и поддержкой функций. Хотя было бы замечательно, если бы мы только ориентировались на IE10, на самом деле многие пользователи и компании просто не обновили свои браузеры или операционные системы. Это означает, что в зависимости от того, что вы создаете, ваша тестовая матрица может включать до пяти разных версий IE. Теперь я слышу стоны.
К счастью, IE9 и IE10 имеют сильную поддержку стандартов, и IE6 начинает идти по пути птицы Додо (хотя и медленно). На самом деле, многие топовые сайты полностью отказались от поддержки IE6 и IE7 — большой шаг вперед, особенно по сравнению с тем, что было всего два года назад. И поскольку Microsoft публично заявляет, что IE10 выйдет в Windows 7, я надеюсь, что IE10 + поможет минимизировать количество поддерживаемых версий в ближайшем будущем.
С учетом вышесказанного, эти версии по-прежнему представляют собой дилемму тестирования, поскольку вы не можете запускать несколько версий Internet Explorer на одном ПК. Это означает, что нам нужно взглянуть на альтернативные решения, такие как:
- Виртуальные машины
- Виртуализированные сессии браузера
Я собираюсь коснуться каждого из них и обсудить возможные решения.
Мой первый инструмент Goto для тестирования
Когда мне нужно протестировать сайт в Internet Explorer, мой самый первый инструмент — это Инструменты разработчика F12 в IE10. В набор инструментов входит возможность переключения режимов браузера и документа для эмуляции IE7 — IE10.
Это в основном дает мне исчерпывающее тестовое покрытие для наиболее часто используемых версий Internet Explorer в одном браузере. Выбор простого режима браузера становится простым, и я могу работать с поддержкой определенных функций, а затем выбирать режим рендеринга для своей страницы.
Причина, по которой я говорю, что это моя первая линия тестирования, заключается в том, что она помогает мне найти много общих проблем. Это отличный инструмент для выявления и интерактивного тестирования проблем, таких как отсутствие префиксов поставщиков или отображение страниц в причудах вместо стандартов. И я скажу, что, используя это широко, это помогло мне решить ряд проблем с сайтом без необходимости загрузки виртуальной машины или использования другого компьютера.
Чтобы быть ясным, однако, это определенно не замена тестирования в реальной версии Internet Explorer.
Команда разработчиков IE делает все возможное для поддержки функциональности, но это довольно трудоемкое и не всегда надежное решение. Чтобы обеспечить максимально надежное тестирование, вам понадобится несколько компьютеров (физических или виртуальных), работающих под управлением разных версий Windows / IE. Если у вас нет денег, чтобы прожечь дыру в вашем кармане, я думаю, что маршрут VM, вероятно, лучший выбор.
Виртуальные машины
Мне действительно нравится использовать виртуальные машины, потому что это дает мне возможность тестировать не только браузеры, но и разные ОС на моем ПК. Как бы мне не хотелось иметь кучу устройств для тестирования и игры, я думаю, что моя жена может быть не в восторге, когда придет счет за электричество. В какой-то момент у меня были виртуальные машины для каждой основной версии Windows и Ubuntu , Было бы здорово иметь возможность запускать OSX, но я понимаю, что при этом возникают технические и лицензионные проблемы.
Есть два способа получить Windows в ВМ для тестирования. Первый — купить лицензию для каждой версии Windows, которую вы протестируете. На самом деле у меня есть лицензионные копии Windows XP, Windows 7 и Windows 8, которые я купил для собственного личного тестирования. Долгосрочная стоимость была небольшой, и я считал это инвестицией профессионального веб-разработчика. Это позволяет мне устанавливать ОС и активировать ее, не беспокоясь о печально известной бомбе замедленного действия Microsoft. Я могу получить все обновления, и это в основном дает мне реальную рабочую версию Windows.
Я знаю, что не все думают так же, и не все из вас захотят сделать инвестиции.
Для тех из вас, кто более осторожен, Microsoft предлагает образы VPC для обеспечения совместимости приложений Internet Explorer, которые предоставляют предустановленную версию Windows с определенной версией браузера. Эти изображения позволяют работать с версиями Internet Explorer с 6 по 9 практически бесконечно, но с большим ограничением. Следующее подводит итог:
Мой самый первый инструмент — F12 Developer Tools в IE10.
Вы можете активировать до двух «задних» (введите slmgr -rearm в командной строке), что продлевает пробную версию каждый раз еще на 30 дней, или просто выключить образ VPC и отменить изменения, внесенные с отмененных дисков, для сброса изображение обратно в исходное состояние. Используя любой из этих методов, вы можете технически получить базовое изображение, которое никогда не истекает, хотя вы никогда не сможете навсегда сохранить какие-либо изменения в течение более 90 дней.
Таким образом, вы сможете использовать любое из изображений VPC неограниченное время, но через 90 дней все параметры конфигурации, сохраненные в этом образе, будут удалены. Я смотрю на это как на небольшую цену за бесплатное изображение, которое можно использовать для тестирования. Я знаю, что когда я их использовал, я явно делал это для тестирования IE, поэтому я потерял минимальные изменения конфигурации, если они вообще были. Единственное изображение, которое ведет себя по-другому, — это образ WinXP / IE6; он полностью отключается в определенный день. На момент написания статьи это было бы 14 февраля 2013 года, поэтому не стоит преподносить это вашему особому человеку на День святого Валентина.
Если вы используете Windows 7, вам необходимо получить копию Virtual PC , которая позволяет создавать виртуальные машины и запускать существующие виртуальные жесткие диски. Windows 8 Pro включает диспетчер виртуальных машин Hyper-V. По умолчанию он не включен, поэтому вам нужно зайти в «Панель управления-> Программы-> Включить или отключить функции Windows», чтобы включить его:
После установки вы сможете запускать образы VPC, загруженные с сайта Microsoft. Я скачал образ WinXP / IE6. Он поставляется в форме самораспаковывающегося файла .exe, который выдает файл .vhd для использования. Файл .vhd — это ваш виртуальный жесткий диск.
Вы входите в Virtual PC и выбираете «Создать виртуальную машину», которая открывает диалоговое окно, чтобы начать работу:
Затем укажите, сколько памяти вы хотите выделить для виртуальной машины, а затем, что наиболее важно, выберите, что вы хотите использовать существующий виртуальный жесткий диск, чтобы вы могли использовать загруженный вами VPC:
Теперь виртуальная машина будет создана и показана в Virtual PC. Двойной щелчок по ней запускает виртуальную машину и дает вам доступ к Windows XP. Вам будет предложено активировать его, но просто отмените этот запрос:
OSX и Linux
Если вы не работаете в Windows, вы все равно можете использовать образы VPC, но шаги будут немного сложнее. На OSX я использую VMWare Fusion. Я думаю, что это лучшее программное обеспечение для виртуальной машины для этой платформы, и оно имеет отличную поддержку пользователей. В качестве примера можно привести тот факт, что у них есть инструмент под названием VMWare vCenter Converter , который позволяет изменять типы форматов виртуальных машин на совместимую версию с продуктами VMWare. Поскольку изображения IE VPC несовместимы, мне нужно было конвертировать их, и vCenter Converter сделал это невероятно безболезненным (хотя это только для Windows). Шаги были просты. Я установил приложение:
После установки я запустил его и начал процесс преобразования. Первое, что мне нужно было сделать, это указать исходный файл для конвертации. Конвертер обнаружил «Windows XP.vmc»:
Далее я указал место назначения, в котором он будет создавать VMWare-совместимые файлы:
Процесс преобразования образа Microsoft VPC занял всего три минуты. Я скопировал эти файлы на флэш-накопитель и перенес их на мой Mac. Я запустил VMWare Fusion и создал новую виртуальную машину на основе существующего образа, наведя ее на только что созданный образ, и решил создать локальную копию образа на моем жестком диске:
Затем мне предложили перейти на новейший формат. НЕ ДЕЛАЙТЕ ЭТОГО . Если вы это сделаете, ваша виртуальная машина не будет работать. Я не знаю почему, но я говорю вам это из опыта.
VMWare Fusion будет проходить через процесс импорта, а затем позволит вам настроить параметры вашей виртуальной машины. Вам нужно будет настроить такие параметры, как память и видео, в зависимости от возможностей вашего компьютера. Затем я запустил виртуальную машину и получил логин Windows XP.
При входе в систему меня приветствовал стандартный набор сообщений об обнаружении нового оборудования. Просто игнорируйте их вместе с приглашением на активацию, и вы сможете использовать ОС:
А как насчет Parallels и VirtualBox?
И Parallels, и VirtualBox — отличные решения для виртуальных машин. В частности, VirtualBox — это программное обеспечение с открытым исходным кодом, доступное по лицензии GPL. Я не использовал Parallels, поэтому у меня нет шагов, чтобы вы следовали этому, и я бы рекомендовал это сделать. Если вам случится использовать VirtualBox, Джон Тортон проделал большую работу, предоставив пошаговое объяснение того, как использовать образы VPC с VirtualBox . Это немного запутанно, но работает. Я также слышал, как многие разработчики в восторге от сценариев ievms ; они позволяют загружать образы VPC и преобразовывать их в формат, который принимает VirtualBox. Процесс довольно автоматизирован и кажется лучшей альтернативой.
BrowserStack.com
Самый новый метод, который я рекомендую, с большим волнением, которое я мог бы добавить, — это браузерная служба, называемая BrowserStack . Это позволяет вам тестировать ваш сайт, используя сеансы виртуального браузера — все в вашем любимом браузере. Он использует Flash для обеспечения виртуального сеанса, и вы можете выбрать любое количество версий операционной системы и браузера. Например, если я хотел протестировать различные браузеры в Windows XP, это так же просто, как выбрать эту ОС и выбрать целевой браузер:
Главное, что это не скриншот вашего сайта; это полнофункциональный браузер, с которым вы можете взаимодействовать.
Если вы заметили на изображении, я щелкнул раскрывающееся меню для вкладки «Безопасность» и на следующем изображении я использую средства разработчика Internet Explorer F12 для отладки.
Это очень мощная система, потому что:
- Услуга недорогая (20 долларов в месяц)
- Давайте протестируем все основные версии каждого браузера на каждой основной ОС
- Давайте вам указать разные размеры экрана
- Обеспечивает поддержку туннелирования для локального тестирования.
Последний пункт важен, потому что ваш код разработки, как правило, не идет на общедоступный веб-сервер (если, конечно, вы не ковбой по кодированию и dev === production). Локальное туннелирование использует Java для установления соединения, и настройка действительно проста. Команда BrowserStack хорошо поработала, объяснив, как настроить вещи .
Хотя эта статья посвящена тестированию IE, мне нравится в BrowserStack широта поддержки браузеров и ОС, которую они предлагают, вплоть до инструментов разработчика . Несмотря на то, что браузеры виртуализированы, это не значит, что они не включают соответствующие инструменты разработчика.
Тестирование сложно
Самый новый метод, который я рекомендовал — это браузерная служба, которая называется BrowserStack .
Мы все знаем, что тестирование сложно, и необходимость беспокоиться о нескольких версиях IE усложняет его. Было бы замечательно, если бы мы подошли к тому моменту, когда мы могли бы сосредоточиться исключительно на самой последней версии IE, но сейчас требования клиентов и проектов, как правило, определяют, какие версии IE нам нужно поддерживать. К счастью, у нас есть решения, которые могут позволить нам проводить испытания при минимальных затратах, а в некоторых случаях, например, BrowserStack, без какого-либо влияния на оборудование.
Тестирование IE важно. Это один из наиболее широко используемых браузеров в мире, и новейшие версии имеют отличную поддержку стабильных стандартов. Но OldIE все еще там, и очень важно, чтобы у пользователей был хороший опыт.
Я надеюсь, что варианты, которые я представил, помогут вам. Для меня я собираюсь использовать BrowserStack для тех случаев, когда мне нужно вернуться в прошлое.