Vous pensez peut-être que les développeurs Web qui utilisent Windows comme système d'exploitation principal peuvent le faire facilement lorsqu'ils testent Internet Explorer; cliquez simplement sur le bleu "E" et allez en ville. Cela pourrait être vrai s'ils ne devaient s'inquiéter que de la version d'IE sur leur PC, mais nous savons tous que ce n'est pas le cas. En fonction des besoins de votre projet, vous devrez peut-être assurer la compatibilité entre IE6 et IE10, ce qui pose certainement des problèmes. Comment traitons-nous cela?
Maintenant, si vous êtes sous Windows, vous avez définitivement un avantage, car au moins, vous pouvez tester nativement une version spécifique d’IE, mais c’est tout à fait différent si vous êtes sur Mac ou Linux..
Ce que je veux faire, c'est explorer les différentes manières de tester Internet Explorer sur des plates-formes populaires et proposer des suggestions sur la manière de réduire les frictions de tests pour plusieurs versions du navigateur..
Nous savons tous que les tests sont difficiles.
Internet Explorer utilise plusieurs versions, chacune avec son propre niveau de bizarreries et sa prise en charge des fonctionnalités. Ce serait bien si nous devions seulement cibler IE10, mais en réalité, de nombreux utilisateurs et entreprises n’ont tout simplement pas mis à niveau leur navigateur ou leur système d’exploitation. Cela signifie que, selon ce que vous construisez, votre matrice de test devra peut-être inclure jusqu'à cinq versions différentes d'IE. Je peux entendre les gémissements maintenant.
Heureusement, IE9 et IE10 soutiennent fortement les normes et IE6 commence à suivre le chemin de l'oiseau Dodo (bien que lentement). En fait, de nombreux sites de premier plan ont complètement abandonné le support pour IE6 et IE7, ce qui constitue un grand pas en avant, notamment par rapport à ce que nous étions il y a deux ans. Et avec Microsoft déclarant publiquement qu'IE10 viendra sur Windows 7, j'espère que IE10 + contribuera à réduire le nombre de versions prises en charge dans un avenir proche..
Cela dit, ces versions posent toujours un dilemme d’essai car vous ne pouvez pas exécuter plusieurs versions d’Internet Explorer sur le même PC. Cela signifie que nous devons rechercher des solutions alternatives telles que:
Je vais aborder chacune d'elles et discuter des solutions possibles.
Lorsque je dois tester un site dans Internet Explorer, mon tout premier outil est l'outil de développement F12 dans IE10. La boîte à outils intègre la possibilité de basculer entre les modes navigateur et document pour émuler IE7 à IE10..
En gros, cela me donne une couverture de test complète pour les versions les plus couramment utilisées d’Internet Explorer dans un seul navigateur. Cela devient une simple question de choisir le mode de mon navigateur afin de pouvoir utiliser des fonctionnalités spécifiques, puis de choisir le mode de rendu de ma page..
La raison pour laquelle je dis que c'est ma première ligne de test, c'est parce que cela m'aide à résoudre de nombreux problèmes courants. C'est un excellent outil pour identifier et tester de manière interactive des problèmes tels que des préfixes de fournisseur manquants ou si une page est rendue avec des bizarreries au lieu de normes. Et je dirai que le fait d’avoir largement utilisé cette solution m’a aidé à résoudre un certain nombre de problèmes de site sans avoir à charger une machine virtuelle ou à utiliser un autre PC..
Pour être clair, cependant, ce n'est certainement pas un remplacement du test dans une version réelle d'Internet Explorer.
L'équipe d'ingénieurs d'IE fait de son mieux pour faire fonctionner la fonctionnalité de backport, mais il s'agit d'un effort assez massif et pas toujours infaillible. Pour que l'expérience de test soit la plus fiable possible, vous devez disposer de plusieurs PC (physiques ou virtuels) exécutant différentes versions de Windows / IE. À moins que vous n'ayez de l'argent en train de brûler un trou dans votre poche, je pense que la voie VM est probablement le meilleur choix..
J'aime beaucoup utiliser des machines virtuelles car cela me permet de tester non seulement les navigateurs, mais différents systèmes d'exploitation à partir de mon propre PC. Même si j'aimerais avoir une tonne d'appareils à tester et avec lesquels jouer, je pense que ma femme ne sera peut-être plus heureuse une fois la facture d'électricité reçue. J'ai déjà eu des ordinateurs virtuels pour chaque version majeure de Windows et Ubuntu. . Ce serait formidable de pouvoir utiliser OSX, mais ma compréhension est que cela pose des problèmes techniques et de licence..
Il existe deux manières de mettre Windows dans une machine virtuelle à des fins de test. La première consiste à acheter une licence pour chaque version de Windows à tester. En fait, j'ai sous licence des copies de Windows XP, Windows 7 et Windows 8 que j'ai achetées pour mes propres tests. Le coût à long terme était faible et je considérais cela comme un investissement en tant que développeur Web professionnel. Cela me permet d'installer le système d'exploitation et de l'activer sans avoir à me soucier de la fameuse bombe à retardement de Microsoft. Je peux obtenir toutes les mises à jour, et cela me donne essentiellement une vraie version de travail de Windows.
Je sais que tout le monde ne pense pas de la même façon et que vous ne voudrez pas tous faire l’investissement..
Pour les plus frugaux, Microsoft propose les images VPC Compatibilité des applications d’Internet Explorer, qui fournissent une version préinstallée de Windows avec une version de navigateur spécifique. Ces images vous permettent de travailler avec les versions 6 à 9 d'Internet Explorer presque indéfiniment, mais avec une limite considérable. Ce qui suit le résume:
Mon tout premier outil est le F12 Developer Tools dans IE10.
Vous pouvez activer jusqu'à deux "réarmements" (tapez slmgr -rearm à l'invite de commande), ce qui prolonge la version d'essai de 30 jours supplémentaires ou simplement arrêter l'image du VPC et ignorer les modifications apportées à partir des disques d'annulation pour réinitialiser le système. l'image à son état initial. En utilisant l'une ou l'autre de ces méthodes, vous pouvez techniquement avoir une image de base qui n'expire jamais, bien que vous ne puissiez jamais enregistrer les modifications de manière permanente pendant plus de 90 jours..
Vous devriez donc pouvoir utiliser n'importe quelle image VPC indéfiniment, mais après 90 jours, tous les paramètres de configuration que vous avez enregistrés dans l'image seront effacés. Je considère cela comme un petit prix à payer pour avoir une image gratuite à utiliser pour les tests. Je sais que lorsque je les utilisais, je le faisais explicitement pour tester IE, de sorte que les modifications apportées à la configuration étaient minimes, voire inexistantes. La seule image qui se comporte différemment est l'image WinXP / IE6; il s'arrête complètement à une date précise. Au moment de la rédaction de cet article, ce serait le 14 février 2013, alors assurez-vous de ne pas offrir cela à votre personne privilégiée pour la Saint-Valentin..
Si vous utilisez Windows 7, vous devez vous procurer une copie de Virtual PC, qui vous permet de créer des ordinateurs virtuels et d'exécuter des disques durs virtuels existants. Windows 8 Pro inclut le gestionnaire de machine virtuelle Hyper-V. Il n'est pas activé par défaut, vous devez donc aller dans "Panneau de configuration-> Programmes-> Activer ou désactiver les fonctionnalités Windows" pour l'activer:
Une fois installé, vous devriez pouvoir exécuter les images VPC que vous avez téléchargées sur le site de Microsoft. J'ai téléchargé l'image WinXP / IE6. Il se présente sous la forme d'un fichier .exe auto-extractible qui extrait le fichier .vhd pour que vous l'utilisiez. Le fichier .vhd est votre disque dur virtuel.
Vous vous connectez à Virtual PC et choisissez "Créer une machine virtuelle", ce qui ouvre une boîte de dialogue pour lancer des choses:
Ensuite, spécifiez la quantité de mémoire que vous souhaitez allouer à la machine virtuelle, puis sélectionnez le type de disque que vous souhaitez utiliser, afin que vous puissiez utiliser le VPC que vous avez téléchargé:
La VM sera maintenant créée et affichée dans Virtual PC. Double-cliquez dessus pour lancer la machine virtuelle et vous donner accès à Windows XP. Vous serez invité à l'activer, mais annulez simplement cette demande:
Si vous n'êtes pas sous Windows, vous pouvez toujours utiliser les images VPC, mais les étapes vont être un peu plus compliquées. Sur OSX, j'utilise VMWare Fusion. Je pense que c'est le meilleur logiciel de machine virtuelle pour cette plate-forme et que l'assistance des utilisateurs est excellente. Un exemple est le fait qu'ils disposent d'un outil appelé VMWare vCenter Converter, qui vous permet de modifier les types de format de machine virtuelle en une version compatible avec les produits VMWare. Comme les images VPC IE ne sont pas compatibles, j'avais besoin de les convertir, et vCenter Converter l'a rendu incroyablement simple (bien que ce soit uniquement sous Windows). Les marches étaient faciles. J'ai installé l'application:
Une fois installé, je l'ai exécuté et lancé le processus de conversion. La première chose à faire était de spécifier le fichier source à convertir. Le convertisseur a trouvé "Windows XP.vmc":
Ensuite, j'ai spécifié la destination où les fichiers compatibles avec VMWare seraient créés:
Le processus de conversion de l’image Microsoft VPC a duré trois minutes. J'ai copié ces fichiers sur une clé USB et je les ai apportés sur mon Mac. J'ai lancé VMWare Fusion et créé une nouvelle machine virtuelle basée sur une image existante, en la pointant sur l'image que je viens de créer et j'ai choisi de créer une copie locale de l'image sur mon disque dur:
J'ai ensuite été invité à passer au nouveau format. Ne le fais pas. Si vous le faites, votre machine virtuelle ne fonctionnera pas. Je ne sais pas pourquoi, mais je te le dis par expérience.
VMWare Fusion exécutera le processus d'importation, puis vous permettra de configurer les paramètres de votre ordinateur virtuel. Vous devrez modifier les paramètres tels que la mémoire et les options vidéo en fonction des capacités de votre ordinateur. J'ai ensuite exécuté la machine virtuelle et on m'a présenté le nom d'utilisateur Windows XP..
Lors de la connexion, j'ai été accueilli par le barrage standard de nouveaux messages de matériel détecté. Ignorez-les, ainsi que l'invite d'activation, et vous devriez pouvoir utiliser le système d'exploitation:
Parallels et VirtualBox sont d'excellentes solutions de VM. VirtualBox, en particulier, est un logiciel open source disponible sous une licence GPL. Je n'ai pas utilisé Parallels, je n'ai donc pas d'étapes à suivre que je me sentirais bien de recommander. Si vous utilisez par la suite VirtualBox, Jon Thorton a fourni une explication détaillée de l’utilisation pas à pas des images VPC avec VirtualBox. C'est un peu impliqué, mais ça marche. J'ai également entendu beaucoup de développeurs s'émerveiller des scripts ievms; ils vous permettent de télécharger les images VPC et de les convertir dans un format accepté par VirtualBox. Le processus est assez automatisé et semble être une meilleure alternative.
La méthode la plus récente que je recommande, avec beaucoup d'enthousiasme, est un service basé sur un navigateur, appelé BrowserStack. Il vous permet de tester votre site à l'aide de sessions de navigateur virtuel, le tout dans votre navigateur préféré. Il utilise Flash pour fournir la session virtualisée et vous pouvez sélectionner un nombre quelconque de versions du système d'exploitation et du navigateur. Par exemple, si je souhaite tester différents navigateurs dans Windows XP, il suffit de choisir ce système d'exploitation et de sélectionner le navigateur cible:
L'essentiel est que ce ne soit pas une capture d'écran de votre site. c'est un navigateur entièrement fonctionnel avec lequel vous pouvez interagir.
Si vous remarquez dans l'image, j'ai cliqué sur le menu déroulant de l'onglet "Sécurité" et dans l'image suivante, j'utilise les outils de développement d'Internet Explorer F12 pour déboguer..
C'est un système très puissant parce que:
Le dernier point est important car votre code de développement ne va généralement pas sur un serveur Web accessible au public (à moins bien sûr que vous ne soyez un cow-boy de codage et une production de dev ===). Le tunneling local utilise Java pour établir la connexion, et la configuration est vraiment facile. L’équipe de BrowserStack a bien expliqué comment mettre les choses en place.
Bien que cet article traite des tests d’IE, ce que j’aime dans BrowserStack, c’est l’ampleur de la prise en charge des navigateurs et des systèmes d’exploitation qu’ils offrent, jusqu'aux outils de développement. Même si les navigateurs sont virtualisés, cela ne signifie pas qu'ils n'incluent pas leurs outils de développement respectifs..
La méthode la plus récente que je recommande est un service basé sur un navigateur, appelé BrowserStack..
Nous savons tous que les tests sont difficiles et que le fait de s’inquiéter de plusieurs versions d’IE le rend plus difficile. Ce serait bien si nous pouvions nous concentrer sur la version la plus récente d'IE, mais pour le moment, les demandes des clients et des projets ont tendance à dicter les versions d'IE à prendre en charge. Heureusement, nous avons des solutions qui nous permettent de tester à moindre coût et, dans certains cas, comme BrowserStack, sans aucun impact matériel..
Tester IE est important. C'est l'un des navigateurs les plus utilisés au monde et les versions les plus récentes offrent un excellent support pour les normes stables. Mais OldIE existe toujours et il est vital de donner aux utilisateurs une expérience unique..
J'espère que les options que j'ai présentées vous aident. Pour moi, je vais utiliser BrowserStack pour les cas où je dois remonter dans le temps..