Web drivrutin IO handledning med hjälp av en levande webbplats och arbetar exempel (2 / 8 steg)

Steg 2: Grundläggande testskript

Låt oss börja med några grunderna.

Här är en enkel mocha skript som kommer att öppna en webbplats och kontrollera titeln.

tutorial1.js
//
Detta är ett enkelt testskript att öppna en webbplats och
Validera titel.
krävs bibliotek
var webdriverio = require('webdriverio'),
ska = require('should');

ett test script block eller svit
beskriva ("titel Test för Web drivrutin IO - Tutorial Test sida webbplats, function() {
Ange timeout till 10 sekunder
This.timeout(10000);
var driver = {};

krok för att köra innan tester
innan (funktion (gjort) {
läsa in drivrutinen för webbläsare
förare = webdriverio.remote ({desiredCapabilities: {browserName: 'firefox'}});
driver.init(Done);
});

en testet spec - "specification"
det ("bör vara ladda rätt sida och titeln", funktion () {
Ladda sidan, sedan ringa function()
returnera drivrutin
URL ("http://www.tlkeith.com/WebDriverIOTutorialTest.html")
få titeln, sedan passera titel till function()
.getTitle () .så (funktion (titel) {
verifiera titel
(titel).should.be.equal ("Web drivrutin IO - handledning provsida");
ta bort kommentar för konsolen debug
Console.log ("aktuell sida titel:" + titel);
});
});

en "krok" att köra tester efter alla i detta block
after(function(Done) {
driver.End(Done);
});
});

Observationer:

  • Först bör du märka testskript är skriven i JAVASCRIPT (slutar i .js utsträckande).
  • Den grundläggande strukturen är nästan identisk för alla testskript.
    • Header kommentarer (/ /)
    • Krävs bibliotek
    • Ange alternativ (valfritt)
    • Krok: Load Browser Driver
    • Testa Suite (beskriva)
    • Testa Specs (kan vara många Specs i en svit)
    • Krok: Städa upp
  • Testsviten börjar med en Beskriv funktion som har två parametrar:
    • Sträng - beskrivning av testsvit
      • "Kontrollera sidan för ordentlig prat"
      • "Verifiera radioverksamhet knappen"
    • funktion - block av kod att köra
      • beskriver ('Beskrivning av testsvit', function() {});
  • Testsviten kommer att innehålla 1 eller fler test spec (specifikation)
  • Specs börja med det funktion som har två parametrar:
    • Sträng - beskrivning av testa specifikationen
      • "Borde vara rätt länktext och länk-URL"
      • "Bör innehålla korrekta svada (kopia däck)
    • funktion - block av kod att köra
    • det ('Beskrivning av testa specifikationen', function() {});
  • En spec innehåller en eller flera förväntningar som testar statligt av koden
  • Dessa kallas påståenden
    • "Bör" biblioteket ger påståendena
  • I nästan alla fall måste du leta upp ett eller flera element med en väljare sedan utföra någon åtgärd på element
    • Exempel:
      • Söka efter text på en sida och kontrollera texten
      • Fylla i ett formulär och skicka in
      • Verifiera CSS element

Låt oss ta en närmare titt på exemplet med kommentarer.

Ladda krävs biblioteken: web drivrutin IO och bör.

krävs bibliotek
var webdriverio = require('webdriverio'),
ska = require('should');

Definiera testsviten. Denna svit som det kallas: "Avdelning Test för Web drivrutin IO - Tutorial Test sida webbplats"

ett test script block eller svit
beskriva ("titel Test för Web drivrutin IO - Tutorial Test sida webbplats, function() {
...
});

Ange timeout till 10 sekunder så att skriptet inte timeout när sidan laddades.

Ange timeout till 10 sekunder
This.timeout(10000);

Krok att läsa in drivrutinen för tjänsten browser innan du kör specifikationerna "specs". Firefox drivrutinen laddas i detta exempel.

krok för att köra innan tester
innan (funktion (gjort) {
läsa in drivrutinen för webbläsare
förare = webdriverio.remote ({desiredCapabilities: {browserName: 'firefox'}});
driver.init(Done);
});

Definiera testa specifikationen.

en testet spec - "specification"
det ("bör vara ladda rätt sida och titeln", funktion () {
...
});

Ladda sidan hemsida

URL ("http://www.tlkeith.com/WebDriverIOTutorialTest.html")

Få titeln, sedan passera titel till function()

.getTitle () .så (funktion (titel) {
...
});

Kontrollera den titel med hjälp av den bör påstående bibliotek.

(titel).should.be.equal ("Web drivrutin IO - handledning provsida");

Krok att sluta och sanering föraren när du är klar.

en "krok" att köra tester efter alla i detta block
after(function(Done) {
driver.End(Done);
});

Se Steg
Relaterade Ämnen

7-Key reglaget/hjul handledning med synt

Detta är en handledning för att använda den 7-Key reglaget/hjul Breakout från Rakels elektronik.Jag ska visa dig hur man löda in header stiften för maximal användarvänlighet. Rakels har QT1106 datablad på deras webbplats, och en stor arduino bibliote...

Lätt Eyeliner handledning med Eyeliner schabloner

Den lätt eyeliner handledning med hjälp av Beth Bender skönhet eyeliner schabloner kommer att göra dina ögon mjuk, lysa, glitter och verkligen ursnygg.Den "Backstage skönhet Smokey ögon Quad Deluxe" som innehåller allt du behöver för att skapa e...

Papper modell handledning med behaglig fåren

en papper modell handledning tar dig genom grunderna av papper modellering med behaglig fåren och som exempel...

Ladda din mobiltelefon med hjälp av bortkastad värme (och bygga en Steampunk Wall-E)

Vi uppdaterade den instructable med en ny implementering kan du bygga utan att spendera alla pengar på de dyra seebeck generatorer. Här använder Peltiers i omvänd att generera snarare än cool. De är inte så effektiva men de är mycket billigare. Plus...

Liten färg Mixer - en konstant ström, 3W RGB LED med indikator för låg batterinivå och polymorph diffuser

Styra en RGB LED är ett enkelt och vanligt mikrokontroller projekt, ofta nästa projekt gjort efter blinkande och blekning en LED.För att göra det mer intressant, byggde jag den med en ATtiny13, en av de minsta och enklaste AVRs, som krävde "high-volt...

Hur till sätta fast problemen med pionner ratt remote - öka IR-signalen och fixa lilla lås.

Denna fjärrkontroll är mycket vacker och bekväm, men ibland fungerar inte på rätt sättNågra faktorer för detta: dashboard design, steering wheel design och IR signaler projektet inte är ett exempel på effektivitet.Jag är från Brasilien och grunda den...

Bryta bort Paracord Logoband med sida spänne för frikoppling och vridning snap spänne (4-färg)

jag ville göra en snodd att visa min team färger på jobbet i uniform. Jag satte ihop flera flätor och tekniker som jag hade lärt mig här på insructables men med några vändningar som jag föredrar.Steg 1: leveranser Bilden topp över går nerScrapGutted...

Blinka ett antal lysdioder med hjälp av Python Programming Language och Raspberry Pi

översikt av stegI den första fasen, kommer jag att installera bara en LED. Nästa, jag ladda ner modulen LED klass python som representerar en hårdvara LED. Jag kommer att köra klassen LED Pythonmodul blinka det LED. Den första fasen fungerar som ett...

Sand låda med lock som öppnar i bänk och ett tak

Tack för att kolla mitt projekt. Jag ska försöka att göra dessa instruktioner så enkla som möjligt om någon vill bygga detta. Fråga om du har några frågor.Detta är en 4' x 4' x 6' sandlåda med lock som öppnar till bänkar och ett soltak för skugga. To...

Gräs nötkött lever med brown smör carmelized lök och torkade California plommon

Eller, mer känd i våra hushåll som rensa levern middag!Nötlever är en av den mest näringsrik mat. Hur det kvantitativt kan jämföras med andra livsmedel är beroende på hur näringsämnena är vägda (viktiga vitaminer, typer av fett, etc), om jämförelsen...

Gör pizza med en plasma cutter, en grävare och en hög med lera!

Efter flera år av bakning i North House Folk Schoolvedeldad tegelugn, bestämde jag mig att bygga en ugn av min egen. Jag gick lite crazy med extra funktioner (slab foundation, valv, aska dump, skorsten, dörrar, vedfack) och dekorationer (kalksten run...

Sedrick spindeln med rörliga leder, billiga, lätt och barnvänligt!

Väl Halloween är runt hörnet och det är återigen dags att sätta upp alla saker ghouly. Men du behöver inte bryta banken för att ge ditt hus wow faktor! Detta är en rolig halloween prydnad som både barn och vuxna kan göra, en rolig familjeaktivitet!Mi...

Enkla oljelampa eller ljus med hjälp av hushållet olja och hampa veke

detta instructable är att visa dig en snabb och enkel oljelampa som jag gjorde. Detta är bara att ge er killar och exempel och vissa data.===========================================================================Vad du behöver:Olja, rapsolja, olivol...

Täcka belägger med metall blomma till praktiken plasmaskärning och svetsning

syftet med denna blomma är att ge erfarenhet av att använda en plasma cutter och MIG-svetsning så att fula nybörjare styckning/svetsning lägger till charmen av blomman. Sedan tränar tenderar att få oss att fokusera på vad vi inte är bra på, varför in...

Målarfärg kan ugnen med tillbehör, förlorade skum Casting, och mycket mer!

När jag började kasta aluminium det slutliga målet var att bygga en svarv från grunden efter dave gingery verkstad från skrot metall serie böcker. Nu när jag har svarven, jag behöver inte nödvändigtvis att kasta stora delar hela tiden, och således de...

Låg höjd miljöövervakning med en Arduino baserade väder Instrument och Aeropod Remote Sensing plattform

ProjektöversiktStudenter på New Lothrop High School i Michigan har arbetat tillsammans för att bygga en plattform för remote sensing låg höjd som kallas en "Aeropod" och rummen har det med ett "Arduino" baserade väder instrument att sa...

Vattenmelon sallad med parmaskinka, snabb Pickled vattenmelon svål och Parmigiano-Reggiano

Par år sedan tog jag en tur med min familj till Italien och en av mina favorit rätter från resan var Prosciutto e Melone. Hopkoppling av söta saftiga cantaloupemelon med den rökiga salt skinkan ger perfekt balans. Jag älskar också enkelheten av denna...

(Ascensor) Hiss modellen med hjälp av Arduino, App Inventor och annan fri mjukvaran

ESPConstrucción, paso en paso, de un ascensor en escala usando arduino (como controlador del motor y inlägg y salidas por bluetooth), app inventor (para diseño de aplicación como panel de styra del ascensor) y freeCAD y LibreCAD para diseño.Abajo enc...

Definiera sortering algoritm: Med hjälp av Content Adressable minne och parallella jämförelser

En sorterings algoritm är en algoritm som placerar element i en lista i en viss ordning. De vanligaste orderna är numerisk ordning och lexikografiska ordning. Effektiv sortering är viktigt för att optimera användningen av andra algoritmer (som Sök oc...