S-ar putea să credeți că dezvoltatorii web care utilizează sistemul de operare Windows ca sistem de operare primar au o ușurință atunci când testează Internet Explorer; pur și simplu faceți clic pe albastru "E" și du-te în oraș. Acest lucru ar putea fi adevărat dacă ar fi trebuit doar să vă faceți griji cu privire la versiunea IE pe PC-ul lor, dar știm cu toții că nu este cazul. În funcție de nevoile proiectului dvs., este posibil să aveți nevoie să asigurați compatibilitatea de la IE6 până la IE10, ceea ce reprezintă, cu siguranță, unele provocări. Cum facem acest lucru??
Acum, dacă sunteți pe Windows, aveți cu siguranță un picior pentru că, cel puțin, puteți testa nativ o versiune specifică a IE, dar este o minge cu totul diferită dacă sunteți pe o cutie Mac sau Linux.
Ceea ce vreau să fac este să explorez diferitele modalități de testare a Internet Explorer pe platformele populare și să ofer sugestii despre cum să reducem frecarea testelor pentru mai multe versiuni ale browserului.
Știm cu toții că testarea este greu.
Internet Explorer are mai multe versiuni în uz, fiecare cu propriul lor nivel de quirks și suport caracteristică. În timp ce ar fi minunat dacă trebuia să țintim doar IE10, în realitate, o mulțime de utilizatori și companii pur și simplu nu și-au modernizat browserele sau sistemele de operare. Aceasta înseamnă că, în funcție de ceea ce construiți, este posibil ca matricea dvs. de testare să includă până la cinci versiuni diferite ale IE. Acum aud gemetele.
Din fericire, IE9 și IE10 au un sprijin puternic pentru standarde, iar IE6 începe să meargă pe drumul păsării Dodo (deși lent). De fapt, multe site-uri de top au renunțat complet la suportul pentru IE6 și IE7 - un mare pas înainte, mai ales în comparație cu locul în care am fost acum doi ani. Iar Microsoft, declarând public că IE10 va veni la Windows 7, sper că IE10 + va contribui la minimizarea numărului de versiuni acceptate în viitorul apropiat.
Cu acestea, aceste versiuni reprezintă încă o dilemă de testare deoarece nu puteți rula mai multe versiuni de Internet Explorer pe același PC. Aceasta înseamnă că trebuie să analizăm soluții alternative, cum ar fi:
Voi atinge fiecare dintre acestea și voi discuta soluții posibile.
Când trebuie să testez un site în Internet Explorer, primul meu instrument este F12 Developer Tools în IE10. Construit în setul de instrumente este capabilitatea de a comuta între modurile de browser și de document pentru a emula IE7 prin IE10.
În principiu, îmi oferă o acoperire completă a testelor pentru cele mai frecvent utilizate versiuni ale Internet Explorer într-un singur browser. Devine o chestiune simplă de a alege modul browserului meu, astfel încât să pot lucra cu o anumită funcție de suport și apoi să aleg modul de redare pentru pagina mea.
Motivul pentru care spun că aceasta este prima mea linie de testare este că mă ajută să găsesc multe probleme comune. Este un instrument excelent pentru identificarea și testarea interactivă a problemelor, cum ar fi lipsa prefixelor furnizorilor sau în cazul în care o pagină se redă în quirks în loc de standarde. Și voi spune că am folosit acest lucru pe scară largă, mi-a ajutat să rezolv o serie de probleme de site-uri fără a fi necesară încărcarea unei mașini virtuale sau utilizarea unui alt PC.
Pentru a fi clar, cu toate acestea, nu este cu siguranță o înlocuire a testelor într-o versiune actuală a Internet Explorer.
Echipa de inginerie IE se străduiește să păstreze funcționalitatea, dar acest lucru este un efort destul de masiv și nu întotdeauna lipsit de siguranță. Pentru a avea cea mai fiabilă experiență de testare, va trebui să aveți mai multe PC-uri (fizice sau virtuale) care rulează diferite versiuni de Windows / IE. Dacă nu ai bani care arde o gaură în buzunar, mă gândesc că ruta VM este probabil cea mai bună alegere.
Îmi place cu adevărat să folosesc mașini virtuale, deoarece îmi dă posibilitatea de a testa nu numai browserele, ci diferite sisteme de operare din interiorul PC-ului meu. La fel de mult cum aș vrea să am o tona de dispozitive pentru a testa și a juca cu, cred că soția mea nu ar putea fi fericit odată ce factura electrică vine. Am avut VMs la un moment dat pentru fiecare versiune majoră de Windows și Ubuntu . Ar fi grozav să puteți rula OSX, dar înțelegerea mea este că există probleme tehnice și de licențiere în acest sens.
Există două modalități de a obține Windows într-un VM pentru testare. Primul este să cumpărați o licență pentru fiecare versiune de Windows pe care o veți testa. De fapt, am licențiat copii ale Windows XP, Windows 7 și Windows 8 pe care le-am cumpărat pentru testele mele personale. Costul pe termen lung a fost mic și am considerat o investiție ca dezvoltator web profesionist. Acest lucru îmi permite să instalez sistemul de operare și să-l activez fără să fiu nevoit să-mi fac griji în legătură cu bomba de timp infamă a Microsoft. Pot obține toate actualizările și, de fapt, îmi dă o versiune reală de lucru Windows.
Știu că nu toată lumea se gândește la fel, și nu toți vor dori să facă investiția.
Pentru cei de pe partea mai frugală, Microsoft oferă compatibilitatea aplicației Internet Explorer VPC Imagini, care oferă o versiune preinstalată de Windows cu o versiune de browser specifică. Aceste imagini vă permit să lucrați cu Internet Explorer versiunile 6 până la 9 aproape pe termen nedefinit, dar cu o limitare mare. Următoarele rezumă:
Primul meu instrument este F12 Developer Tools în IE10.
Aveți posibilitatea să activați până la două "backms" (tastați slmgr -rearm la promptul de comandă), care prelungește procesul pentru încă 30 de zile de fiecare dată sau pur și simplu opriți imaginea VPC și eliminați modificările pe care le-ați făcut din discurile anulare pentru a reseta imaginea sa inițială. Utilizând oricare dintre aceste metode, puteți avea o imagine de bază care nu expiră, deși nu veți putea salva definitiv modificările pentru mai mult de 90 de zile.
Deci, ar trebui să puteți utiliza oricare dintre imaginile VPC la nesfârșit, dar după 90 de zile, orice setări de configurare pe care le-ați salvat în imagine vor fi șterse. Mă uit la acest lucru ca un preț mic pentru a plăti pentru a avea o imagine liberă de utilizat pentru testare. Știu că atunci când le-am folosit, am făcut-o în mod explicit pentru a testa IE, așa că am pierdut minime, dacă este cazul, schimbări de configurație. Singura imagine care se comportă diferit este imaginea WinXP / IE6; se închide complet la o anumită dată. De la această scriere, care ar fi 14 februarie 2013, asigurați-vă că nu-i dați ca un cadou persoanei dvs. speciale pentru Ziua Îndrăgostiților.
Dacă utilizați Windows 7, va trebui să apucați o copie a Virtual PC, care vă permite să creați VM-uri și să rulați VHD-urile existente. Windows 8 Pro include managerul mașinii virtuale Hyper-V. Nu este activat în mod implicit, așa că va trebui să intrați în "Panou de control-> Programe-> Porniți sau să dezactivați funcțiile Windows" pentru al activa:
După instalare, ar trebui să puteți rula imaginile VPC pe care le-ați descărcat de pe site-ul Microsoft. Am descarcat imaginea WinXP / IE6. Acesta vine sub forma unui fișier .exe care extrage fișierele .vhd pentru a le utiliza. Fișierul .vhd este hard diskul virtual.
Intrați în Virtual PC și alegeți "Creare mașină virtuală", care deschide un dialog pentru a da naștere lucrurilor:
Apoi, specificați numărul de memorie pe care doriți să îl alocați pentru VM și apoi, cel mai important, selectați că doriți să utilizați un hard disk virtual existent pentru a putea utiliza VPC-ul pe care l-ați descărcat:
VM va fi acum creat și afișat în Virtual PC. Dublul clic pe acesta lansează VM și vă oferă acces la Windows XP. Vi se va solicita să o activați, dar doar să anulați această solicitare:
Dacă nu sunteți pe Windows, puteți utiliza în continuare imaginile VPC, dar pașii vor fi un pic mai implicați. Pe OSX, folosesc VMWare Fusion. Cred că este cel mai bun software VM pentru platforma respectivă și are un suport foarte bun pentru utilizatori. Un exemplu este faptul că acestea au un instrument numit VMWare vCenter Converter, care vă permite să modificați tipurile de format VM la o versiune compatibilă cu produsele VMWare. Deoarece imaginile IE VPC nu sunt compatibile, trebuia să le convertesc, iar vCenter Converter a făcut-o incredibil de nedureroasă (deși este doar Windows). Pașii au fost ușori. Am instalat aplicația:
Odată instalat, l-am rulat și am început procesul de conversie. Primul lucru pe care trebuia să-l fac este să specificăm fișierul sursă pentru conversia. Convertorul a găsit "Windows XP.vmc":
În continuare, am specificat destinația în care ar crea fișiere compatibile cu VMWare:
Procesul de conversie a imaginii Microsoft VPC a durat toate cele trei minute. Am copiat aceste fișiere pe o unitate degetul mare și le-am adus pe Mac. Am lansat VMWare Fusion și am creat un nou VM bazat pe o imagine existentă, îndreptându-l spre imaginea pe care tocmai am creat-o și am ales să fac o copie locală a imaginii pe hard disk:
Am fost apoi invitat să fac upgrade la cel mai nou format. NU FACEȚI. Dacă o faci, VM nu va funcționa. Nu știu de ce, dar îți spun asta din experiență.
VMWare Fusion va trece prin procesul de import și apoi vă va permite să configurați setările VM. Va trebui să modificați setările ca opțiunile de memorie și video pe baza capacităților mașinii dvs. Apoi am rulat VM și am fost prezentat cu login-ul Windows XP.
La conectare, am fost întâmpinat de barajul standard al mesajelor hardware noi găsite. Doar ignorați aceștia, împreună cu promptul de activare și ar trebui să puteți utiliza sistemul de operare:
Atât Parallels, cât și VirtualBox sunt soluții VM excelente. VirtualBox, în special, este un software open source și disponibil sub licență GPL. Nu am folosit Parallels, așa că nu am pași să-ți urmezi că aș fi recomandat bine. Dacă întâmplați să utilizați VirtualBox, totuși, Jon Thorton a făcut o treabă excelentă de a oferi o explicație pas-cu-pas a modului de utilizare a imaginilor VPC cu VirtualBox. Este puțin implicat, dar funcționează. Am auzit, de asemenea, mulți dezvoltatori rave despre scripturile ievms; acestea vă permit să descărcați imaginile VPC și să le convertiți într-un format acceptat de VirtualBox. Procesul este destul de automatizat și pare a fi o alternativă mai bună.
Cea mai nouă metodă pe care am recomandat-o, cu multă entuziasm pe care aș putea să o adaug, este un serviciu bazat pe browser, denumit BrowserStack. Acesta vă permite să testați site-ul folosind sesiuni de browser virtuale - toate în browser-ul dvs. preferat. Utilizează Flash pentru a oferi sesiunea virtualizată și puteți selecta din orice număr de versiuni de sistem de operare și browser. De exemplu, dacă am vrut să testez diferite browsere în Windows XP, este la fel de ușor ca alegerea sistemului de operare și selectarea browserului țintă:
Lucrul cheie este că nu este o captură de ecran a site-ului dvs.; este un browser pe deplin funcțional cu care puteți interacționa.
Dacă observați în imagine, am făcut clic pe meniul derulant pentru fila "Securitate" și în următoarea imagine, utilizez Internet Explorer F12 Developer Tools pentru depanare.
Acesta este un sistem foarte puternic deoarece:
Ultimul punct este important deoarece codul de dezvoltare de obicei nu merge pe un server web disponibil public (cu excepția cazului în care, desigur, ești un cowboy de codificare și dev === producție). Tunelul local utilizează Java pentru a stabili conexiunea, iar setarea este foarte ușoară. Echipa de la BrowserStack a făcut o treabă bună în a explica cum se pot face lucrurile.
În timp ce acest articol este despre testarea IE, ceea ce îmi place despre BrowserStack este lățimea browserului și suportului de sistem pe care îl oferă, chiar până la instrumentele dezvoltatorului. Chiar dacă browserele sunt virtualizate, asta nu înseamnă că nu includ instrumentele lor de dezvoltare.
Cea mai nouă metodă pe care am recomandat-o este un serviciu bazat pe browser, denumit BrowserStack.
Știm cu toții că testarea este greu, și trebuie să vă faceți griji că mai multe versiuni ale IE face mai greu. Ar fi grozav dacă ajungem la punctul în care ne putem concentra doar pe cea mai recentă versiune a IE, dar pentru moment cererile clienților și ale proiectelor tind să dicteze ce versiuni IE trebuie să le susținem. Din fericire, avem soluții care ne permit să testați la un cost minim și în unele cazuri, cum ar fi BrowserStack, fără impact hardware.
Testarea IE este importantă. Este unul dintre cele mai utilizate browsere din lume, iar cele mai noi versiuni au un suport excelent pentru standarde stabile. Dar OldIE este încă acolo și asigurarea că utilizatorii au o mare experiență este vitală.
Sper că opțiunile pe care le-am prezentat vă vor ajuta. Pentru mine, voi folosi BrowserStack pentru acele cazuri în care trebuie să mă întorc la timp.