Selenium maakt het niet makkelijk om te begrijpen hoe het is om QTP te gebruiken? Het is favoriet onder programmeurs, maar het vormt een grote belemmering voor nieuwkomers in het testen.
Wat is Selenium? Wat is Selenium RC? Wat is Webdriver? Wat is de relatie tussen RC en Webdriver? Wat is de relatie tussen webdriver en programmeertalen? Kan Selenium scripts parallel uitvoeren?
Hier vertelt de insectenmeester je op een eenvoudige manier dat hun ingewikkelde relatie ingewikkeld is. Zet de relatie tussen hen recht zodat je het echt kunt gebruiken.
Wat is Selenium?
Selenium is een webautomatiseringstesttoolset die IDE, Grid, RC (selenium 1.0), WebDriver (selenium 2.0), enzovoort omvat. Selenium IDE is een plugin voor de Firefox-browser. Eenvoudige scriptopname-, bewerkings- en afspeelfuncties bieden. Selenium Grid wordt gebruikt om de testvoetstappen te verdelen. Het is nu geïntegreerd in Selenium Server. RC en WebDriver moeten meer worden gezien als een set specificaties die de protocollen definiëren voor clientvoetstappen om met de browser te interageren. en de interface voor het positioneren en manipuleren van elementen.
Wat is WebDriver? Het is niet gemakkelijk voor studenten die nieuw zijn met Selenium geautomatiseerd testen om te begrijpen wat API is en hoe het zich verhoudt tot programmeertalen.
http://www.w3.org/TR/2013/WD-webdriver-20130117/
Toen ik Selenium (WebDriver) voor het eerst leerde, duurde het een week om dit document te vertalen, maar ik begreep niet wat het was. Het is zelfs een basisprotocolspecificatie. Bijvoorbeeld, de Webdriver API zegt dat we een methode moeten bieden om pagina-element-ID's te lokaliseren.
Hoe organiseert en voert een webdriver use cases uit?
Sorry, webdriver doet dat niet.
Het organiseren van de methoden (use cases) voor het manipuleren van deze pagina-elementen en het invoeren van de testresultaten wordt gedaan door het unit testing-framework van de programmeertaal. Bijvoorbeeld Java's Junit en TestNG unit testing frameworks, Python's UnitTest unit testing framework, enzovoort.
Wat is de relatie tussen Selenium RC en WebDriver?
RC en WebDriver lijken op elkaar in die zin dat ze kunnen worden gezien als een set specificaties voor het bedienen van webpagina's. Natuurlijk werken ze anders.
selenium RC draait de applicatie Javascrip{filter}t in de browser, waarbij de ingebouwde Javascrip{filter}t-vertaler van de browser wordt gebruikt om selenese-commando's te vertalen en uit te voeren (selenese is een verzameling selenium-commando's).
WebDriver bestuurt de browser direct via native browserondersteuning of browserextensies. WebDriver is ontwikkeld voor individuele browsers en vervangt Javascrip{filtering}t die is ingebed in de webapplicatie die wordt getest. Strakke integratie met browsers maakt het mogelijk om geavanceerdere tests te maken, waarbij de beperkingen van het Javascrip{filtering}t-beveiligingsmodel worden vermeden. Naast ondersteuning van browserleveranciers gebruikt WebDriver ook OS-niveau aanroepen om gebruikersinvoer te simuleren.
Het lijkt erop dat webdriver iets beter is. Om compatibiliteit te behouden, bestaan RC en webdriver naast elkaar in selenium 2.0, maar selenium 2.0 verwijst over het algemeen naar webdriver.
Het verschil tussen parallel en gedistribueerd
Sommige studenten zijn nieuwsgierig naar hoe testcases parallel uitgevoerd kunnen worden, en parallelisme vereist dat meerdere use cases "tegelijk" worden uitgevoerd, wat ook wordt gerealiseerd door de multithreading-technologie van programmeertalen.
Is Selenium Grid niet in staat tot gedistribueerde uitvoering, vraag je? Het concept van distributie is om een use case te schrijven die op verschillende platforms kan worden uitgevoerd, zoals een testcase op computer A, je kunt de Firefox-browser van computer B (linux) aanroepen om het testgeval op computer A uit te voeren; Je kunt ook de Chrome-browser op computer C (Windows) aanroepen om het testgeval op computer A uit te voeren. Dit is het concept van distributie.
|