Het selenium is een open hulpmiddel van uitstekende kwaliteit van de brontestautomatisering voor Webtoepassing het testen. Het selenium loopt in Internet Explorer, Mozilla en Firefox op Vensters, Linux, en Macintosh, Safari op MAC, met plannen om Safari op iPhone spoedig te steunen. De de testmanuscripten van het selenium zijn draagbaar, kunnen van browsers die (gebruiken winde van het Selenium) of van JUNit of NGUnit die (gebruiken Selenium RC) worden in werking gesteld etc Bijvoorbeeld, geschreven test kunnen de manuscripten gebruikend winde van het Selenium in Firefox op Vensters op Firefox in MAC of Linux lopen, zonder enige code te veranderen. De de testslooppas van het selenium direct in browsers en past dicht zo de eindgebruikerervaring aan.

Er zijn drie varianten van Selenium, die afzonderlijk of in combinatie kunnen worden gebruikt om de volledige reeks van de automatiseringstest voor uw Webtoepassingen tot stand te brengen.

  • De Kern van het selenium - in de Kern van het Selenium worden de testsmanuscripten (die in HTML worden geschreven) en de Agent van de Test van het Selenium (die in Javascript wordt geschreven) geupload aan de zelfde Webserver die de gastheren de toepassing u proberen om te testen. Het is een eenvoudigere vorm, en geschikt van Selenium voor niet-ontwikkelaars, maar het heeft sommige inherente beperkingen.
  • Winde van het selenium - winde van het Selenium is een Firefox plugin, die de volledige Kern van het Selenium omvat, u toestaat om, tests in browser te registreren, te herhalen uit te geven en te zuiveren. Het verstrekt de eenvoudigste inleiding aan Selenium en is hoogst - geadviseerd voor beginners. U kunt de tests/de testreeks bewaren die in xml of HTMLformaat worden gecre�rd. Nochtans om hen op een geautomatiseerde manier in werking te stellen hebt u de Afstandsbediening van het Selenium nodig die daarna wordt beschreven.
  • De Afstandsbediening van het selenium - de Afstandsbediening van het Selenium staat u toe om proefprocessen en testreeksen in Java (steunen JUnit & NGUnit), PHP, Robijn, Python, Perl en zelfs .NET te ontwikkelen. Het is de flexibelste opstelling maar vereist wat ontwikkelingskennis aan opstelling en gebruik.
  • Het Net van het selenium - het Net van het Selenium laat verscheidene servers van de Afstandsbediening van het Selenium toe om tegelijkertijd door de server van het Net van het Selenium worden betreden. Dit is uiterst nuttig voor het geautomatiseerde lading en spannings testen van Webtoepassingen.

Vandaag zullen wij bespreken op hoe u automatische testmanuscripten kunt gemakkelijk cre�ren gebruikend winde van het Selenium en hen omzetten in tests JUnit (wat de Afstandsbediening van het Selenium) gebruikt wat kunt aan uw JUnit gebaseerde automatische reeks van de regressietest worden toegevoegd.

Hoe te om een testplan in winde van het Selenium te cre�ren

Cre�ren van een testplan in winde van het Selenium is zeer gemakkelijk, zodat zullen wij het gebruiken om weinig eenvoudige tests tot stand te brengen om te beginnen met.

  • Installeer winde 0.8.7, een Firefox van het Selenium plugin.
  • Na het installeren van Selenium te beginnen gelieve uw browser Firefox voor te activeren plugin opnieuw.
  • Nu zou u een nieuwe toegevoegde winde van het menupunt genoemde Selenium onder uw menu van Hulpmiddelen moeten zien Firefox.
  • Open/doorblader de plaats waarop u een testcase wilt voorbereiden.
  • Begin winde van het Selenium van winde van Firefox Tools->Selenium.
  • Doorblader sommige pagina's.
  • Klik nu rode knoop ophouden registrerend.

Op dit punt zult u Selenium zien registrerend automatisch uw acties. Neem nota zorgvuldig van de bevelen, het doel en de waarde. U kunt uw eigen bevelen tot stand brengen en opnemen wijzigt of zelfs schrapt hen. Wij zullen sommige hieronder voorbeelden tonen. In de volgende sectie zullen wij zien hoe wij de geproduceerde tests kunnen wijzigen om onze behoeften aan te passen.

Hoe te te cre�ren/wijzig/schrap de bevelen van het Selenium

De standaardbevelen die door Selenium worden geproduceerd wanneer u de pagina als normale gebruiker doorbladert zouden moeten worden gewijzigd om de test robuuster te maken en proefprocessen toe te voegen aan het.

  • Vervang alle klikbevelen door clickAndWait. klik klikt eenvoudig de gespecificeerde verbinding en gaat het volgende bevel uitvoeren zonder het wachten. Enerzijds clickAndWait wacht op de nieuwe pagina aan geladen alvorens het volgende bevel uit te voeren. clickAndWait zou moeten worden gebruikt om robuustere proefprocessen te maken.
  • Moet het assertTextNotPresent bevel van het tussenvoegsel na elk clickAndWaitbevel om een tekst te bevestigen niet in de doorbladerde pagina aanwezig zijn.
  • Moet het assertTextPresent bevel van het gebruik om een tekst te bevestigen in de doorbladerde pagina aanwezig zijn.
  • Om uw testplan tot slot te testen te klikken gelieve groene pijlknoop om van bij het begin te spelen of van beginpunt te spelen.
  • Voer het testplan als dossier van Java uit door de Test As->Java van winde File->Export van het Selenium - Selenium RC (bijvoorbeeld het dossier - naam is SeleniumSTSanityTest.java)
  • Dan dicht uw identiteitskaart van het Selenium Firefox

Hoe te boven testplan (het automatisch geproduceerde dossier van Java van winde van het Selenium te lopen) in bevellijn?

  • Het Selenium RC van de download.
  • Rits het onder de zelfde folder open waar SeleniumSTSanityTest.java (uitgevoerd testplan zoals het dossier van Java van identiteitskaart van het Selenium) werd bewaard.
  • Installeer junit.
  • Ga naar folder waar u selenium-ver-controle-1.0-b�ta-1-dist.zip- dossier openritst.
  • Open een terminal en doe de hieronder stappen
    • CD selenium-ver-controle-1.0-b�ta-1/selenium-server-1.0-b�ta-1
    • Java - kruik selenium-server.jar (om de server op interactieve wijze in werking te stellen voer Java uit - interactieve kruik selenium-server.jar -)
    • Als u een fout zoals Fout krijgt: com.thoughtworks.selenium.SeleniumException: De Uitzondering van de Server van de FOUT: sessionId niet zou moeten ongeldig zijn; is deze zitting nog begonnen? dan zorg ervoor dat browser in de WEG alvorens de server in werking te stellen is. Bijvoorbeeld, wilt u de test in Firefox in werking stellen. Dan zou u daarna twee stappen moeten doen.
    • bepaal de plaats van firefox-bak (bijvoorbeeld keert het /usr/lib/firefox-1.5.0.12/firefox-bin terug)
    • de uitvoer PATH=$PATH: /usr/lib/firefox- 1.5.0.12 /firefox-bak;
      Nota: Er is een alternatieve manier om boven fout (browser is niet in weg) te bevestigen. Vervang eenvoudig chroom met browser WEG in SeleniumSTSanityTest.java- dossier. Bijvoorbeeld:
      lijn
      opstelling (http://blog.taragana.com, *chrome);
      wordt
      opstelling (http://blog.taragana.com, *firefox /usr/lib/firefox-1.5.0.12/firefox-bin);
      in SeleniumSTSanityTest.java.
      Om de test in operabrowser in werking te stellen vervang chroom met opera.

    Nu loopt de seleniumserver en u moet de cli�nt in werking stellen van Java die in selenium-ver-controle-1.0-b�ta-1/selenium-Java-cli�nt-bestuurder-1.0-b�ta-1 wordt gevestigd.

  • Open een andere terminal.
    • voer CLASSPATH= uit.: selenium-ver-controle-1.0-b�ta-1/selenium-Java-cli�nt-bestuurder-1.0-b�ta-1/selenium-Java-cli�nt-driver.jar: /usr/share/java/junit.jar
    • javac SeleniumSTSanityTest.java
    • Java SeleniumSTSanityTest

Het automatisch geproduceerde dossier SeleniumSTSanityTest.java van Java zal waarschijnlijk sommige tekorten hebben. Moeilijke situatie het door met het voorbeeld vergelijkbaar te zijn hieronder:


de invoer com.thoughtworks.selenium.*;
de invoer junit.framework.*;
de invoer java.util.regex. Patroon;

de openbare klasse SeleniumSTSanityTest breidt SeleneseTestCase uit {
    de openbare nietige opstelling () werpt Uitzondering {
        opstelling (http://blog.taragana.com, *chrome); // om de test in opera in werking te stellen vervangt chroom met opera
    }
    openbare nietige testSimpleThoughts () werpt Uitzondering {
        selenium.open ("");
        assertFalse (selenium.isTextPresent (WordPress gegevensbestandfout: [));
        assertTrue (selenium.isTextPresent (2003-2008));
        selenium.open (/index.php/category/programming/java);
        selenium.waitForPageToLoad (30000);
        assertFalse (selenium.isTextPresent (WordPress gegevensbestandfout: [));
        assertTrue (selenium.isTextPresent (2003-2008));
        selenium.click (//img [@alt='�bersetzen Sie zum Deutsch/German']);
        selenium.waitForPageToLoad (30000 );
        assertFalse (selenium.isTextPresent (WordPress gegevensbestandfout: [));
        assertTrue (selenium.isTextPresent (2003-));
        selenium.click (//img [@alt='Peloit doe ech/Czech']);
        selenium.waitForPageToLoad (60000 );
        assertFalse (selenium.isTextPresent (WordPress gegevensbestandfout: [));
        assertTrue (selenium.isTextPresent (2003));
    }

    de openbare statische reeks van de Test () {
        terugkeer nieuwe TestSuite (SeleniumSTSanityTest.class);
    }

    openbare statische nietige leiding (Koord args []) {
        junit.textui.TestRunner.run (reeks ());
    }
}

Laat me weten of hebt u om het even welke commentaren/suggesties aangaande hoe wij dit leerprogramma kunnen verbeteren.