Selenium - Web Browser Automation

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Selenium

    Introductie
    Selenium is awesome! Ik merkte helaas op dat Selenium niet zo vaak gebruikt/vernoemd werd op ICTScripters en vond het daarom dan ook nodig om een korte introductie te geven. Ik hoop hiermee mensen warm te maken om Selenium of een soort gelijk automatic testing tool te gebruiken. Het kan je een hoop moeite en problemen vermijden. Lees verder, als je meer wilt weten...

    Wat is het?
    Selenium is een software testing framework, gericht op web applicaties. Het laat toe, bepaalde scenario's na te spelen op een website, waardoor je problemen kunt opsporen. Stel je voor: je hebt een website met verschillende formulieren en je wilt na een code increment testen of er niks kapot is gegaan. Zonder Selenium zou je om zeker te moeten zijn, alle pagina's moeten openen, manueel nakijken of alles er uit ziet zoals het hoort. Je formulieren testen op verschillende inputs (krijg je de juiste error messages terug?). Een hele hoop werk...

    Selenium doet dit voor jou! Eenmaal je je test-cases geschreven hebt kan je deze na elke code increment uitvoeren. Selenium kan je dan laten weten of je iets kapot gemaakt hebt of niet.

    Wat ondersteund het?
    Er bestaan verschillende varianten.
    • Selenium IDE, is een firefox plugin die toelaat bepaalde scenario's te recorden en uit te voeren/debuggen.
    • Selenium API, bestaat voor verschillende talen (Java, C#, Ruby and Python), waardoor je het testen kunt verwerken in je programma zelf.
    Waar gebruik ik het voor?
    Voor 2 doeleinden:
    • Het testen van kritieke elementen van mijn websites. Forms waarvan de backend vaak aangepast wordt, worden allemaal ondersteund door een Selenium test suite. Waardoor ik mezelf verzeker dat alles wat ervoor werkte, nog steeds werkt. Ik geef toe dat alles testen via Selenium wat overkill kan zijn, daarom focus je best ook de kritieke delen.
    • uitvoeren van repititieve taken op websites. (klik-spelletjes ;) )
    Ikzelf gebruik de Selenium API, die toe laat Selenium mooi te verwerken in je Python code.
    Het gebruik ervan is heel simpel. Een klein voorbeeldje:

    Source Code

    1. from selenium import webdriver
    2. from selenium.webdriver.common.keys import Keys
    3. driver = webdriver.Firefox()
    4. driver.get("http://www.ictscripters.com")
    5. elem = driver.find_element_by_name("q")
    6. elem.send_keys("selenium")
    7. elem.send_keys(Keys.RETURN)

    Deze code maakt een webdriver object aan, gaat naar de ictscripters website.
    Vervolgens zoekt het naar het element met de naam q (de search bar), vult 'selenium' in en drukt op enter om het zoeken te starten.

    Zoals je kan zien, simpel!

    Meer informatie
    Selenium website: Selenium - Web Browser Automation
    Starten met Selenium voor python: 2. Getting Started — Selenium Python Bindings 2 documentation

    Ik sta open voor vragen/commentaar/improvements.

    Quitta

    2,460 times read

Comments 2