Zonder hoofd functie test en selenium en

PhantomJS, hoofd van functionele tests en se PhantomJS,,,,,,,,,, 19, delen, delen van,,,,,, het netwerk van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, laten we de oprichting van een web van de toepassing van procedures voor de tenuitvoerlegging van het systeem met behulp van functionele tests, se PhantomJS.Dit systeem zal ons de mogelijkheid in javascript gewoon testen, testen van programma 's in de echte browser en een man zonder hoofd van de simulator.,,,,, de keuze van de onderdelen, se duidelijk nadelig is, moet het een compleet beeld van de tafel een en al de testen.Om te beginnen moeten we kiezen, en een browser controle of de motor van de eindgebruiker te simuleren.Voor een lange tijd, de belangrijkste spelers op dit gebied is de SE, is het nog steeds.De SE kan de automatische controle van echte systemen, dit is een van de belangrijkste voordelen: je kunt er absoluut zeker van de vertegenwoordigers van de realiteit, zo veel mogelijk testen. Een duidelijk nadeel is, moet het een compleet beeld van de tafel een en al de testen.De resultaten van de test, je wordt langzaam.Maar dat kan geweldig zijn, als je de virtuele machine verschillende systemen en de nodige middelen in verband met de.,, aan de andere kant van het spectrum is een kleine, maar PhantomJS: volledige toegang tot de goede werking van het project en javascript bewijzen van de motor, maar geen grafische deel.PhantomJS heel makkelijk op te zetten, die op een machine, en aanzienlijk sneller.,,, kan een andere SE controle van het PhantomJS snuffelaars.,,, is een volledige dekking van de bewijzen van PhantomJS, je functionele eisen voor het testen van 90%.Immers, als je in de toepassing van de goede werking van deze norm, misschien in andere browser werken goed.Dit is duidelijk niet met inbegrip van het Internet Explorer 6, 8, maar als je het project wordt steeds populairder, en de resterende 10% wordt een belangrijke kwestie.Als je de functie van een suite is rechtstreeks in PhantomJS herschrijven, de test se pijn. En, gelukkig, de laatste in 2012, aan het eind van het jaar, we ontvangen in de vorm van PhantomJS bindende se cadeau.Met andere woorden, de controle van de SE kan het geen andere snuffelaars, in het licht van PhantomJS, selenium, zelf, zonder ingewikkelde instellingen kan op een plek die we kunnen gebruiken PhantomJS se bindende controle dekken onze eisen voor het testen van 90%.Als je later moeten krachtiger test, en je kunt niet extra browser in verband met de SE de code veranderd in een rij, dus we kiezen de browser motor, se PhantomJS.,, beschrijving van de test, SE die is bindend in de meest populaire programmeertalen, zodat we kunnen volgens ons moet de keuze van de taal.Misschien is dit het meest controversiële deel: ik denk dat de javascript worden beschreven als web - website en functionele tests van de beste keuze.,,, of gebruik je voorkant back - end - technologie, gebruik je altijd javascript (, zelfs als je het gebruik van talen, zoals het javascript opgesteld in vanille, CoffeeScript of typen).Dus, javascript zal altijd ten minste één persoon in je team is een begrijpelijke taal.,,, is de volgende stap, rekening te houden met de functie van je test is niet de mogelijkheid een programmeur.Op basis van de verspreiding van de voorkant, in combinatie met de vaststelling van duidelijke taal van hun capaciteiten op het gebied van specifieke, duidelijk om meer mensen aan de voorbereiding van functionele tests, en, ten slotte,., controle en beproeving van de browser javascript is normaal, want het is een zeer, is onze controle... Elke dag.,, se bindend javascript, webdriverjs.Hoewel het project niet volwassener dan de officiële steun van de bestuurder van Java, C #, ruby en Python, maar het wordt al een groot deel van de functie, we moeten rennen.,,,,, het doel van dit artikel, mocha Chai is gekozen.En tot slot, we hebben een test voor programma 's, of een aanvraag voor het testen van de werking van de naam, en een mooie afdruk, en merkt op dat het welslagen of mislukken van hoeveel testen.Deze test moet ook zorgen voor een bewering bibliotheek, die het mogelijk maakt de encoder te geven als de test slagen of falen.Veel javascript test, maar het doel van dit artikel, mocha Chai is gekozen.Mokka biedt aanzienlijke flexibiliteit, verschillende formaten, en populaire JASMINE wil grammatica.柴允许 schreef je de verklaring van beschrijvende bdd.,,,,, dit is ons laatste stapel worden gebruikt:,,, mokka - test loper, hout - beweren dat de bibliotheek, webdriverjs – de browser gebonden, se - browser abstracte en de werking van de fabriek, PhantomJS niet snel de browser - hoofd, Node.js NPM,,, omdat de meeste van onze Stack is gebaseerd op javascript, we moeten Node.js en Npm.Deze twee zijn de algemene instrumenten in de Gemeenschap, neem ik aan dat je al een.Als je niet op de website van Node.js val.Maak je geen zorgen, als er iets fout gaat, zijn er veel - richtsnoeren voor de installatie op het internet beschikbaar.,, mokka, hout en webdriverjs, dat alle drie de kunnen de installatie en het gebruik van het,,, pseudo - NPM: installatie van G mocha Chai webdriverjs, of je kan je testen in De installatie in de catalogus is gelegen: de installatie, het webdriverjs mocha Chai, selenium, selenium, server downloaden.Het profiel als één enkele, potten, documenten die eenvoudig, je koffie pot selenium-server-standalone-2.28.0.jar,,,, als je dit bevel uitvoeren, het opstarten van een server, je test na de code is verbonden.Alsjeblieft, je moet rennen als je kunt rennen je server test.,, PhantomJS, snelle versie,,,, de: PhantomJS NPM, installatie, installatie van PhantomJS NPM, pseudo - G,, andere opties, en we hebben een nieuwe versie, PhantomJS ten minste 1,8.Dit betekent dat de door uw pakket manager om het pakket te leveren (,, goed, macports,...) zal waarschijnlijk verouderd is, de installatie en het gebruik van. Kan je het niet van de installatie, of het gebruik van andere methoden.Maar in dit geval, je moet vertellen waar je PhantomJS se, se: elke operatie, pad = "/weg /node_modules /PhantomJS /bin: $weg" koffie pot selenium-server-standalone-2.28.0.jar, in combinatie met alles,,,, en nu hebben we al het werk, we moeten alles samen,, weet je nog. Vóór De test: exploitatie van een operatie, moet je kunt server:,, koffie pot selenium-server-standalone-2.28.0.jar, selenium, loopt PhantomJS interne; je hoeft je geen zorgen te maken, en nu, moeten we van onze javascript en selenium.Het is een voorbeeld van de code, het begin zal zijn van een SE is verbonden met een kant - en - voorwerpen controle ons se voorbeelden:,, ///////webdriverjs creëren met de cliënt = SE moeten var ('webdriverjs "). De ({desiredcapabilities:{je kan kiezen voor een andere ////////http://code.google.com/p/selenium/wiki/desiredcapabilities browser browsername:'PhantomJS"}, ///////webdriverjs heeft veel van de output is meestal nutteloos /maar, als er iets misgaat, voor meer details op het niveau van het schrappen van gegevens: "stilte"}); de klant. ();,, nu kunnen we de beschrijving van onze cliënt en het gebruik van de test, variabelen om de browser.Als webdriverjs volledige documentatie van de API - beschikbaar is, maar hier is een kort voorbeeld:,, de klant. URL ('http://voorbeeld. COM ") van de klanten. En (functie (titel) {console logboek (titel", titel);}); de cliënt setValue ("# gebied". "Waarde"); de klant. Submitform (); de klant. ();,, laten we koffie en hout grammaticale beschrijving van de tests; we moeten testen, de eigenschappen van de website: beschrijving van de mensen,,, (test voorbeeld. COM ", functie) (voor de functie van de klant ((doen) {. (de). (http: ///////'http voorbeeld. COM", voltooid);}); beschrijving van de homepage ("gekozen, functie) ((" zien de juiste titel "functies (doen) {klanten. En (functie (titel) {hoop (titel) ('exa, string.简单域). (;);});}); het ("zie" functies (doen) {klanten. Gettext ("P", (P) {hoop (titel), ("documenten. Het touw voorbeelden."). (;);} {}))); (functie; na het (doen) {klanten. (). (;);});});,, misschien wil je met iemand, de klanten, de in vele documenten - test.Het creëren van een kleine module - de invoer in elke test documenten:,,, de klant. Is het exports.client = nodig:,, ('webdriverjs "). De ((///////instellingen};,,,,,, test. Js, var - klanten = nodig hebben (". /klanten).; ('chai var verwachtingen = nodig "). Uit de uitvoering van de tests; ///////,,,,, mokka testen uitgevoerd, mokka, binair.Als je aan deze gids en mokka plaatselijke installatie, dus je moet een volledige beschrijving van de tweede element van hun pad, node_modules /koffie /bin /mokka,.,, bij verstek, mokka behandelen geen test meer dan twee seconden de tijd niet.Omdat wij in feite een web browser gestart en de afgifte van een verhoging van het http, moeten we een time - out 5 of 10 seconden:,, node_modules //bin /mokka koffie test.js - T - 10000, als alles volgens plan verloopt, zal je zien dat zo 'n output:,,.✔ 1 < trans - type = 'NB "> de voltooiing van de test < grensoverschrijdende >,,, is de volgende stap, als je bij je verwacht van de testresultaten, misschien moet je overwegen verdere verbetering van je val.,, twee duidelijk in de richting van de verdere Integratie en gedistribueerde Se proeven. Voortzetting van de integratie,,,,, je moet gericht zijn op vermindering van het testen van de werking van de tijd je doorbrengt in.,,, wil je misschien een automatische duurzame geïntegreerde server, moet dit worden automatisch als test, als er iets mis gaat je op de hoogte.,, in de open wereld, zo 'n server is de rol van de heer Jenkins woord: gemakkelijk, krachtig, de installatie van de diensten, die de uitvoering van de tests uitvoering van een toewijzing, je biedt, en misschien meer in verband met de bouw van taken, zoals de code inzet naar server.,, of, als je denkt dat je zou kunnen proberen een nieuw project, bekend als de bedrijfstak van de Gemeenschap gitlab, biedt minder functie, maar het ziet er beter uit de integratie van gitlab zelf beheerd, Github klonen.,, in ieder geval, je moet gericht zijn op vermindering van de tZ 'n tijd, heb je de test.In plaats daarvan, is de test moet de automatische werking, als er iets fout, dan moet u op de hoogte als een vergissing, se - se hebben opgelegd.Bijvoorbeeld, je kan niet op dezelfde apparatuur voor het testen van meerdere browser, bovendien, zie je dat, als je zijn veel tests, die alle hun kan een lang proces.Hoewel de voortdurende integratie deel verzachting van het probleem, maar je kan nog steeds in de hoop dat de verschillende machines wat testen doen, tot slot, je zal snel ontdekt dat je wilde testen, de verschillende systemen van verschillende browser.En als je de code kunnen testen, in theorie, en verschillende SE server te praten, als je een beetje volwassen, deze instelling zich moet richten.Heb je een se server, je hebt een SE - se - server, controle, van elke controle - een browser op een machine een browser, elke controle van meerdere browser in één enkele operatie systeem.PhantomJS selenium toegevoegd aan de laatste laten we beginnen zonder initiële investeringen - se - test, zoals de vaststelling van de server, het gebruik van javascript., als een test motor ervoor kunnen zorgen dat we de test zal blijven in de nabije toekomst in verband met de ontwikkeling van het netwerk, de achtergrond.



Previous:
Next Page: