Je zou kunnen geloven dat webontwikkelaars die Windows gebruiken als hun primaire besturingssysteem het gemakkelijk hebben, wanneer ze Internet Explorer testen; Klik eenvoudig op de blauwe "E" en ga naar de stad. Dat zou waar kunnen zijn als ze zich alleen maar zorgen moesten maken over de versie van IE op hun pc, maar we weten allemaal dat dit niet het geval is. Afhankelijk van de behoeften van uw project, moet u mogelijk de compatibiliteit van IE6 tot IE10 garanderen, wat zeker enkele uitdagingen met zich meebrengt. Hoe gaan we hiermee om?
Als je nu Windows gebruikt, heb je zeker een voordeel, want je kunt op zijn minst een specifieke versie van IE testen, maar het is een heel ander spelletje als je op een Mac of Linux-doos zit.
Wat ik wil doen, is de verschillende manieren verkennen om Internet Explorer op populaire platforms te testen en suggesties bieden voor het verminderen van de wrijving van testen voor meerdere versies van de browser..
We weten allemaal dat testen moeilijk is.
Internet Explorer heeft meerdere versies in gebruik, elk met hun eigen niveau van eigenaardigheden en functieondersteuning. Hoewel het geweldig zou zijn als we alleen IE10 zouden moeten gebruiken, hebben veel gebruikers en bedrijven simpelweg hun browsers of besturingssystemen niet geüpgraded. Dit betekent dat, afhankelijk van wat u aan het bouwen bent, uw testmatrix mogelijk tot vijf verschillende versies van IE moet bevatten. Ik kan het gekreun nu horen.
Gelukkig hebben IE9 en IE10 een sterke ondersteuning voor standaarden en IE6 begint de weg van de Dodo-vogel te volgen (zij het langzaam). In feite hebben veel topsites de ondersteuning voor IE6 en IE7 volledig laten vallen - een grote stap vooruit, vooral in vergelijking met waar we nog maar twee jaar geleden waren. En met Microsoft publiekelijk bewerend dat IE10 naar Windows 7 zal komen, hoop ik dat IE10 + zal helpen het aantal ondersteunde versies in de nabije toekomst te minimaliseren.
Met dat gezegd, vormen deze versies nog steeds een testdilemma omdat je niet meerdere versies van Internet Explorer op dezelfde pc kunt uitvoeren. Dit betekent dat we naar alternatieve oplossingen moeten kijken, zoals:
Ik zal elk van deze bespreken en mogelijke oplossingen bespreken.
Wanneer ik een site in Internet Explorer moet testen, is mijn allereerste hulpprogramma de F12 Developer Tools in IE10. Ingebouwd in de toolset is de mogelijkheid om zowel de browsermodus als documentmodus om IE7 via IE10 te emuleren.
Het geeft me in principe een uitgebreide testversie voor de meest gebruikte versies van Internet Explorer in een enkele browser. Het wordt een eenvoudige kwestie van het kiezen van mijn browsermodus, zodat ik met specifieke ondersteuning van functies kan werken en vervolgens de weergavemodus voor mijn pagina kan kiezen.
De reden dat ik zeg dat dit mijn eerste testregel is, is omdat het me helpt veel veelvoorkomende problemen te vinden. Het is een geweldig hulpmiddel voor het identificeren en interactief testen van problemen, zoals ontbrekende prefixen van leveranciers of als een pagina wordt weergegeven in eigenaardigheden in plaats van normen. En ik zal zeggen dat als ik dit uitgebreid heb gebruikt, het me heeft geholpen een aantal siteproblemen op te lossen zonder de noodzaak om een virtuele machine te laden of een andere pc te gebruiken.
Voor de duidelijkheid, het is zeker geen vervanging voor testen in een echte versie van Internet Explorer.
Het engineeringteam van IE doet zijn best om de functionaliteit van de backport te ondersteunen, maar dit is een vrij gigantische inspanning en niet altijd onfeilbaar. Voor de meest betrouwbare testervaring moet u meerdere pc's (fysiek of virtueel) hebben waarop verschillende versies van Windows / IE worden uitgevoerd. Tenzij je geld hebt dat een gat in je zak brandt, denk ik dat de VM-route waarschijnlijk de beste keuze is.
Ik vind het heel leuk om virtuele machines te gebruiken, omdat het me de mogelijkheid biedt om niet alleen browsers, maar ook verschillende besturingssystemen te testen vanuit mijn eigen pc. Hoe graag ik ook een heleboel apparaten zou willen testen en ermee spelen, ik denk dat mijn vrouw misschien niet blij is als de elektriciteitsrekening binnenkomt. Ik heb op een gegeven moment VM's gehad voor elke belangrijke versie van Windows en Ubuntu . Het zou geweldig zijn om OSX te kunnen gebruiken, maar ik heb begrepen dat er technische en licentiekwesties zijn om dat te doen.
Er zijn twee manieren om Windows in een VM te krijgen voor testen. De eerste is om een licentie te kopen voor elke versie van Windows die u gaat testen. Ik heb echt gelicentieerde exemplaren van Windows XP, Windows 7 en Windows 8 die ik heb gekocht voor mijn eigen persoonlijke tests. De langetermijnkosten waren klein en ik vond het een investering als een professionele webontwikkelaar. Hierdoor kan ik het besturingssysteem installeren en activeren zonder me zorgen te hoeven maken over de beruchte tijdbom van Microsoft. Ik kan alle updates krijgen en het geeft me in principe een echt werkende versie van Windows.
Ik weet dat niet iedereen hetzelfde denkt, en niet iedereen zal de investering willen doen.
Voor degenen onder u die wat zuiniger zijn, biedt Microsoft de VPC-afbeeldingen met compatibiliteit van Internet Explorer die een vooraf geïnstalleerde versie van Windows met een specifieke browserversie biedt. Met deze afbeeldingen kunt u bijna onbeperkt met Internet Explorer-versies 6 tot en met 9 werken, maar met een grote beperking. Het volgende vat het samen:
Mijn allereerste hulpmiddel is de F12 Developer Tools in IE10.
U kunt maximaal twee "herbewapening" activeren (typ slmgr -herstel bij de opdrachtprompt), die de proef telkens met nog eens 30 dagen verlengt, of sluit eenvoudig de VPC-afbeelding af en negeer de wijzigingen die u hebt aangebracht door schijven ongedaan te maken om de afbeelding terug naar de oorspronkelijke staat. Door een van deze methoden te gebruiken, kunt u technisch gezien een basisafbeelding hebben die nooit verloopt, hoewel u nooit veranderingen voor langer dan 90 dagen permanent kunt opslaan.
U zou dus alle VPC-afbeeldingen onbeperkt moeten kunnen gebruiken, maar na 90 dagen worden de configuratie-instellingen die u in de afbeelding hebt opgeslagen, gewist. Ik beschouw dit als een kleine prijs om te betalen voor het hebben van een gratis afbeelding om te gebruiken voor het testen. Ik weet dat toen ik ze gebruikte, ik dit expliciet deed om IE te testen, dus ik had minimale of geen configuratiewijzigingen verloren. De enige afbeelding die zich anders gedraagt, is de WinXP / IE6-afbeelding; het sluit volledig af op een specifieke datum. Vanaf dit schrijven zou dat 14 februari 2013 zijn. Zorg er dus voor dat je dit niet cadeau geeft aan je speciale persoon voor Valentijnsdag.
Als u Windows 7 gebruikt, moet u een kopie van Virtual PC nemen, waarmee u VM's kunt maken en bestaande VHD's kunt uitvoeren. Windows 8 Pro bevat de Hyper-V virtuele machinebeheerder. Het is niet standaard ingeschakeld, dus u moet "Configuratiescherm-> Programma's-> Windows-functies in- of uitschakelen" inschakelen om het in te schakelen:
Na de installatie kunt u de VPC-afbeeldingen uitvoeren die u van de Microsoft-site hebt gedownload. Ik heb de WinXP / IE6-afbeelding gedownload. Het komt in de vorm van een zelfextraherend .exe-bestand dat het .vhd-bestand voor u dumpt. Het .vhd-bestand is uw virtuele harde schijf.
U logt in op Virtual PC en kiest "Create virtual machine", die een dialoogvenster opent om dingen uit te schakelen:
Geef vervolgens aan hoeveel geheugen u wilt toewijzen aan de VM en selecteer vervolgens het belangrijkste dat u een bestaande virtuele harde schijf wilt gebruiken, zodat u de VPC die u hebt gedownload kunt gebruiken:
De VM wordt nu gemaakt en verschijnt op virtuele pc. Door erop te dubbelklikken, wordt de VM gestart en krijgt u toegang tot Windows XP. U wordt gevraagd om het te activeren, maar u annuleert alleen dat verzoek:
Als je geen Windows gebruikt, kun je nog steeds de VPC-afbeeldingen gebruiken, maar de stappen worden iets meer betrokken. Op OSX gebruik ik VMWare Fusion. Ik denk dat het de beste VM-software voor dat platform is en dat het geweldige gebruikersondersteuning biedt. Een voorbeeld is het feit dat ze een tool hebben genaamd VMWare vCenter Converter, waarmee je VM-typen kunt veranderen naar een compatibele versie met VMWare's producten. Omdat de IE VPC-afbeeldingen niet compatibel zijn, moest ik ze converteren en vCenter Converter maakte het ongelooflijk pijnloos (hoewel het alleen voor Windows is). De stappen waren eenvoudig. Ik heb de app geïnstalleerd:
Na de installatie heb ik het uitgevoerd en het conversieproces gestart. Het eerste wat ik moest doen was het bronbestand opgeven dat geconverteerd moet worden. De converter heeft "Windows XP.vmc" gevonden:
Vervolgens heb ik de bestemming opgegeven waar het de VMWare-compatibele bestanden zou maken:
Het proces om de Microsoft VPC-afbeelding te converteren duurde alle drie minuten. Ik kopieerde die bestanden naar een USB-stick en bracht ze naar mijn Mac. Ik heb VMWare Fusion gelanceerd en een nieuwe VM gemaakt op basis van een bestaande afbeelding, wijzend naar de afbeelding die ik zojuist heb gemaakt en heb ervoor gekozen om een lokale kopie van de afbeelding op mijn harde schijf te maken:
Ik werd toen gevraagd om te upgraden naar het nieuwste formaat. DOE HET NIET. Als u dat doet, werkt uw VM niet. Ik weet niet waarom, maar ik vertel je dit uit ervaring.
VMWare Fusion doorloopt het importproces en stelt u vervolgens in staat om de instellingen van uw VM te configureren. U moet instellingen zoals geheugen- en video-instellingen aanpassen op basis van de mogelijkheden van uw machine. Vervolgens heb ik de VM uitgevoerd en kreeg ik de aanmeldingsgegevens voor Windows XP te zien.
Bij het inloggen, werd ik begroet door de standaard spervuur van nieuwe hardware gevonden berichten. Negeer deze, samen met de activeringsprompt, en je zou in staat moeten zijn om het OS te gebruiken:
Zowel Parallels als VirtualBox zijn uitstekende VM-oplossingen. VirtualBox is met name open source software en beschikbaar onder een GPL-licentie. Ik heb Parallels niet gebruikt, dus ik heb geen stappen voor je om te volgen die ik me goed zou aanbevelen. Als je echter toevallig gebruik maakt van VirtualBox, heeft Jon Thorton uitstekend werk geleverd door stapsgewijs uitleg te geven over het gebruik van de VPC-afbeeldingen met VirtualBox. Het is een beetje betrokken, maar het werkt. Ik heb ook veel ontwikkelaars horen ravotten over de ievms-scripts; hiermee kunt u de VPC-afbeeldingen downloaden en converteren naar een indeling die VirtualBox accepteert. Het proces is redelijk geautomatiseerd en lijkt een beter alternatief te zijn.
De nieuwste methode die ik heb aanbevolen, met veel opwinding die ik zou kunnen toevoegen, is een browsergebaseerde service, genaamd BrowserStack. Hiermee kunt u uw site testen met behulp van virtuele browsersessies - allemaal binnen uw favoriete browser. Het gebruikt Flash om de gevirtualiseerde sessie te bieden en u kunt kiezen uit een willekeurig aantal besturingssystemen en browserversies. Als ik bijvoorbeeld verschillende browsers in Windows XP wilde testen, is het net zo eenvoudig als het kiezen van dat besturingssysteem en het selecteren van de doelbrowser:
Het belangrijkste is dat het geen screenshot van uw site is; het is een volledig functionerende browser waarmee u kunt communiceren.
Als je in de afbeelding opmerkt, klik ik op het vervolgkeuzemenu voor het tabblad "Beveiliging" en in de volgende afbeelding gebruik ik de F12 Developer Tools van Internet Explorer om te debuggen.
Dit is een zeer krachtig systeem omdat:
Het laatste punt is belangrijk omdat je ontwikkelcode meestal niet op een openbare webserver gaat (tenzij je natuurlijk een codeercowboy en een dev === productie bent). De lokale tunneling maakt gebruik van Java om de verbinding tot stand te brengen, en de instelling is heel eenvoudig. Het team van BrowserStack heeft goed uitgelegd hoe je dingen kunt instellen.
Hoewel dit artikel over het testen van IE gaat, is BrowserStack het grootste deel van de browser- en OS-ondersteuning die ze bieden, tot en met de ontwikkelaarstools. Hoewel de browsers gevirtualiseerd zijn, betekent dit niet dat ze hun respectievelijke ontwikkelaarstools niet opnemen.
De nieuwste methode die ik heb aanbevolen is een browsergebaseerde service, genaamd BrowserStack.
We weten allemaal dat testen moeilijk is, en zorgen maken over meerdere versies van IE maakt het moeilijker. Het zou geweldig zijn als we op het punt komen dat we ons alleen op de meest recente versie van IE kunnen richten, maar voorlopig bepalen klant- en projectvereisten vaak welke IE-versies we moeten ondersteunen. Gelukkig hebben we oplossingen die ons in staat stellen om te testen tegen minimale kosten en in sommige gevallen, zoals BrowserStack, zonder enige invloed op de hardware..
IE testen is belangrijk. Het is een van de meest gebruikte browsers ter wereld en de nieuwste versies bieden uitstekende ondersteuning voor stabiele standaarden. Maar OldIE is er nog steeds en het is van vitaal belang ervoor te zorgen dat gebruikers een geweldige ervaring hebben.
Ik hoop dat de opties die ik heb gepresenteerd je helpen. Voor mij ga ik BrowserStack gebruiken voor die gevallen waarin ik terug in de tijd moet gaan.