SlideShare a Scribd company logo
Automated Tests
in Agile based on
Serenity BDD
Michał Szybalski
3
Agenda
1. Fundamenty BDD
2. Selenium WebDriver
3. Serenity BDD - Automated Acceptance
Testing with Style
4. Demo Test Example
5. Q&A
4
Fundamenty BDD
5
Behavior-Driven Development (BDD ) jest
zwinna techniką wytwarzania oprogramowania
w oparciu o konkretną strukturę formułowania
wymagań. Polega na tworzeniu
oprogramowania przez opisywanie jego
zachowania, z perspektywy jego udziałowców.
6
7
Założenia
1. ustalenie celów wszystkich zainteresowanych stron
potrzebnych do realizacji wizji
2. zaangażowanie stackholderów w proces tworzenia
oprogramowania
3. stworzenie przykładów opisujących sposób działania
aplikacji
4. automatyzacja wyżej wymienionych przykładów i
możliwość jej późniejszego wykorzystania w regresji
5. wykorzystanie mocków w celu umożliwienia symulacji
oprogramowania z modułami, które nie zostały
jeszcze stworzone
8
3 Zasady BDD
1. Enough is enough
2. Deliver stakeholder value
3. It`s all about behaviour
9
BDD or Traditional
10
BDD or Traditional
11
BDD vs TDD
TDD means writing a test that fails because the
specified functionality doesn't exist, then writing
the simplest code that can make the test pass –
development practise
BDD means creating an executable specification
that fails because the feature doesn't exist, then
writing the simplest code that can make the spec
pass – team methology
12
Selenium WebDriver
13
Selenium - zestaw narzędzi do automatyzacji
przeglądarek internetowych na wielu
platformach
WebDriver – koncepcja sterowników, która
umożliwia bezpośrednią komunikację i kontrolę
przeglądarek internetowych
14
Selenium WebDriver
Selenium 1.0 WebDriver
MERGE
SELENIUM
WEBDRIVER
Selenium IDE
Selenium RC
Selenium Grid
15
Page Object Pattern
Page Object Pattern – technika strukturyzaji
kodu testu, która:
• Promuje re-użycie i redykcje duplikatów w
kodzie
• Czyni testy bardziej czytelnymi
• Usprawnia zarządzanie testami
16
Ogólne podejście
17
Użycie Page Object
18
Użycie Page Object
19
20
Serenity BDD
Serenity BDD – biblioteka open source,
pomagająca tworzyć automatyczne testy
akceptacyjne i regresji
Serenity informuje nie tylko jakie testy zostały
wykonane, ale co ważniejsze, jakie wymagania
zostały przetestowane.
21
Główne cechy
o elastyczniejsze testy
o łatwiejsze zarządzanie testami
o przejrzyste raporty z testów
o mapowanie testów na wymagania
o mierzy jak wiele cech aplikacji jest faktycznie
testowana
22
Cykl życia Serenity BDD
23
Definiowanie wymagań
Wyrażane jako User Stories z kryteriami
akceptacji, które pomagają opisać
wymagania – to właśnie je automatyzujemy!
24
Mapowanie wymagań
Mapowanie wymagań na kryteria akceptacji za
pomocą narzędzi BDD – jBehave, cucumber.
25
Implementacja testu
Implementacja testów automatycznych w
oparciu o Selenium WebDriver
26
Raport z testów
27
Raport z pokrycia testów
28
Demo Example
29
1.Introducing BDD - Dan North
https://dannorth.net/introducing-bdd/
2.BDD in Action – John Ferguson Smart,
2015
3.http://behaviour-driven.org
4.http://www.thucydides.info/
Automated Tests in Agile based on Serenity BDD - Michał Szybalski

More Related Content

Viewers also liked

Serenity BDD Workshop - 9th March 2016
Serenity BDD Workshop - 9th March 2016Serenity BDD Workshop - 9th March 2016
Serenity BDD Workshop - 9th March 2016
vodqasg
 
Ui BDD Testing
Ui BDD TestingUi BDD Testing
Ui BDD Testing
Taras Kalapun
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
Amit Rawat
 
Selenium
SeleniumSelenium
Selenium
mdiliyazm
 
Selenium web driver
Selenium web driverSelenium web driver
Selenium web driver
Shobika Ramasubbarayalu
 
Behavior Driven Development - Live Webinar
Behavior Driven Development - Live WebinarBehavior Driven Development - Live Webinar
Behavior Driven Development - Live Webinar
Belatrix Software
 
Serenity-BDD training
Serenity-BDD trainingSerenity-BDD training
Serenity-BDD training
Savvycom Savvycom
 
Selenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver BasicsSelenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver Basics
ITProfessional Academy
 
Basic Selenium Training
Basic Selenium TrainingBasic Selenium Training
Basic Selenium Training
Dipesh Bhatewara
 
Test automatizzati & serenity bdd
Test automatizzati & serenity bddTest automatizzati & serenity bdd
Test automatizzati & serenity bdd
diego mauricio lagos morales
 
Smarter ways to do selenium automation @ work, Selenium, automation
Smarter ways to do selenium automation @ work, Selenium, automationSmarter ways to do selenium automation @ work, Selenium, automation
Smarter ways to do selenium automation @ work, Selenium, automationRIA RUI Society
 
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelModel-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next Level
Bob Binder
 
BDD testing with cucumber
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumber
Daniel Kummer
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testingdversaci
 
BDD with JBehave and Selenium
BDD with JBehave and SeleniumBDD with JBehave and Selenium
BDD with JBehave and Selenium
Nikolay Vasilev
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...
[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...
[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...
Ho Chi Minh City Software Testing Club
 
Acceptance Testing in BDD
Acceptance Testing in BDDAcceptance Testing in BDD
Acceptance Testing in BDD
Paul Littlebury
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
Return on Intelligence
 
A slice of cucumber
A slice of cucumberA slice of cucumber
A slice of cucumber
Zeb Mason
 

Viewers also liked (20)

Serenity BDD Workshop - 9th March 2016
Serenity BDD Workshop - 9th March 2016Serenity BDD Workshop - 9th March 2016
Serenity BDD Workshop - 9th March 2016
 
Ui BDD Testing
Ui BDD TestingUi BDD Testing
Ui BDD Testing
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
 
Selenium
SeleniumSelenium
Selenium
 
Selenium web driver
Selenium web driverSelenium web driver
Selenium web driver
 
Behavior Driven Development - Live Webinar
Behavior Driven Development - Live WebinarBehavior Driven Development - Live Webinar
Behavior Driven Development - Live Webinar
 
Serenity-BDD training
Serenity-BDD trainingSerenity-BDD training
Serenity-BDD training
 
Selenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver BasicsSelenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver Basics
 
Basic Selenium Training
Basic Selenium TrainingBasic Selenium Training
Basic Selenium Training
 
Test automatizzati & serenity bdd
Test automatizzati & serenity bddTest automatizzati & serenity bdd
Test automatizzati & serenity bdd
 
Smarter ways to do selenium automation @ work, Selenium, automation
Smarter ways to do selenium automation @ work, Selenium, automationSmarter ways to do selenium automation @ work, Selenium, automation
Smarter ways to do selenium automation @ work, Selenium, automation
 
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelModel-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next Level
 
BDD testing with cucumber
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumber
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testing
 
BDD with JBehave and Selenium
BDD with JBehave and SeleniumBDD with JBehave and Selenium
BDD with JBehave and Selenium
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...
[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...
[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...
 
Acceptance Testing in BDD
Acceptance Testing in BDDAcceptance Testing in BDD
Acceptance Testing in BDD
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 
A slice of cucumber
A slice of cucumberA slice of cucumber
A slice of cucumber
 

Similar to Automated Tests in Agile based on Serenity BDD - Michał Szybalski

Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.
Future Processing
 
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Dariusz Kacban
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
Tomasz Borowski
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopotneoteric-eu
 
[TestWarez 2017] Architektura testów automatycznych dla wielomodułowej aplika...
[TestWarez 2017] Architektura testów automatycznych dla wielomodułowej aplika...[TestWarez 2017] Architektura testów automatycznych dla wielomodułowej aplika...
[TestWarez 2017] Architektura testów automatycznych dla wielomodułowej aplika...
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
university day 1
university day 1university day 1
university day 1
Sławomir Borowiec
 
Najlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NETNajlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NETMarcin Daczkowski
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
Wiktor Żołnowski
 
Testowanie silników elektrycznych - dedykowane rozwiązania dla wymagających t...
Testowanie silników elektrycznych - dedykowane rozwiązania dla wymagających t...Testowanie silników elektrycznych - dedykowane rozwiązania dla wymagających t...
Testowanie silników elektrycznych - dedykowane rozwiązania dla wymagających t...
Veritech Sp. z o.o.
 
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
DreamLab
 
Analiza nowej Rekomendacji D pod kątem metodologii testowania
Analiza nowej Rekomendacji D pod kątem metodologii testowania Analiza nowej Rekomendacji D pod kątem metodologii testowania
Analiza nowej Rekomendacji D pod kątem metodologii testowania
QualityIn.IT
 
Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012Mariusz Kedziora
 
Technical Side of Agile
Technical Side of AgileTechnical Side of Agile
Technical Side of Agile
Matt Harasymczuk
 
Olga Żądło - Robot Framework
Olga Żądło - Robot FrameworkOlga Żądło - Robot Framework
Olga Żądło - Robot Framework
Trójmiejska Grupa Testerska
 
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
Damian Szczurek
 
Techniczna organizacja zespołu
Techniczna organizacja zespołuTechniczna organizacja zespołu
Techniczna organizacja zespołu
intive
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6
The Software House
 
Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?
tkryskiewicz
 
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania Prezentacja
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania   PrezentacjaJakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania   Prezentacja
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania Prezentacjaguestb2a82c
 
Poznajmy się!
Poznajmy się!Poznajmy się!
Poznajmy się!
Redexperts
 

Similar to Automated Tests in Agile based on Serenity BDD - Michał Szybalski (20)

Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.
 
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
 
[TestWarez 2017] Architektura testów automatycznych dla wielomodułowej aplika...
[TestWarez 2017] Architektura testów automatycznych dla wielomodułowej aplika...[TestWarez 2017] Architektura testów automatycznych dla wielomodułowej aplika...
[TestWarez 2017] Architektura testów automatycznych dla wielomodułowej aplika...
 
university day 1
university day 1university day 1
university day 1
 
Najlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NETNajlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NET
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
 
Testowanie silników elektrycznych - dedykowane rozwiązania dla wymagających t...
Testowanie silników elektrycznych - dedykowane rozwiązania dla wymagających t...Testowanie silników elektrycznych - dedykowane rozwiązania dla wymagających t...
Testowanie silników elektrycznych - dedykowane rozwiązania dla wymagających t...
 
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
 
Analiza nowej Rekomendacji D pod kątem metodologii testowania
Analiza nowej Rekomendacji D pod kątem metodologii testowania Analiza nowej Rekomendacji D pod kątem metodologii testowania
Analiza nowej Rekomendacji D pod kątem metodologii testowania
 
Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012
 
Technical Side of Agile
Technical Side of AgileTechnical Side of Agile
Technical Side of Agile
 
Olga Żądło - Robot Framework
Olga Żądło - Robot FrameworkOlga Żądło - Robot Framework
Olga Żądło - Robot Framework
 
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
 
Techniczna organizacja zespołu
Techniczna organizacja zespołuTechniczna organizacja zespołu
Techniczna organizacja zespołu
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6
 
Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?
 
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania Prezentacja
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania   PrezentacjaJakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania   Prezentacja
Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania Prezentacja
 
Poznajmy się!
Poznajmy się!Poznajmy się!
Poznajmy się!
 

Automated Tests in Agile based on Serenity BDD - Michał Szybalski

Editor's Notes

  1. BDD was originally invented by Dan North in the early to mid-2000s as an easier wayto teach and practice Test-Driven Development (TDD). TDD, invented by Kent Beck inthe early days of Agile,10 is a remarkably effective technique that uses unit tests to specify,design, and verify application code. Cała aplikacja budowana jest z komponentów, małymi historyjkami które opowiadają o tym jak powinien zachować się program gdy zajdą pewne okoliczności – z ang. stories. Każde story budowany jest na schemacie given,when,then : given – określa warunki początkowe, przedstawia aktora, zapoznaje odbiorcę z kontekstem historyjki, when – opisuje akcje, występujące zdarzenie, then – informuje o oczekiwanych rezultatach.
  2. USING EXAMPLES A SHARED UNDERSTANDING SOFTWARE THAT MATTERS Wykorzystanie przykładów na wielu poziomach w celu utworzenia wspólnego zrozumienia i powierzchniowej niepewności Tak by dostarczyć oprogramowanie, które ma znaczenie jest zwinną techniką tworzenia oprogramowania mającą na celu lepszą integrację między programistami, testerami, ale także co bardzo ważne ludźmi biznesu czyli osobami nietechnicznymi ZAŁOŻENIA: ustalenie celów wszystkich zainteresowanych stron potrzebnych do realizacji wizji zdefiniowanie potencjalnych możliwości, które zostaną osiągnięte za pomocą napisanego kodu zaangażowanie stakholderów w proces tworzenia oprogramowania stworzenie przykładów opisujących sposób działania aplikacji automatyzacja wyżej wymienionych przykładów i możliwość jej późniejszego wykorzystania w regresji wykorzystanie mocków w celu umożliwienia symulacji oprogramowania z modułami, które nie zostały jeszcze stworzone
  3. analizujemy, planujemy i projektujemy tyle, ile naprawdę trzeba • nie tracimy czasu na na wyspecyfikowanie od razu całego zakresu projektu – wymagania i tak będą się pewnie zmieniać • robimy tylko tyle, ile trzeba wszystko, co robimy ma nieść ze sobą realną wartość biznesową • jeśli robimy coś, co tej wartości nie przynosi, warto zająć się czymś innym • jeżeli funkcjonalność pojawia się w projekcie, to znaczy, że jest wartościowa wszyscy uczestnicy projektu powinni odwoływać i myśleć o systemie w ten sam sposób – opisując jego zachowanie tym samym słownictwem dzięki temu zmniejszana jest bariera komunikacyjna między „nietechnicznym” klientem, a „technicznymi” programistami wymagania definiujemy w formie historyjek użytkownika
  4. Let’s say Chris’s company needs a new module for its accounting software. When Chris wants to add a new feature, the process goes something like this (see figure 1.1): 1 Chris tells a business analyst how he would like the feature to work. 2 The business analyst translates Chris’s requests into a set of requirements forthe developers, describing what the software should do. These requirementsare written in English and stored in a Microsoft Word document. 3 The developer translates the requirements into code and unit tests—written inJava, C#, or some other programming language—in order to implement thenew feature. 4 The tester translates the requirements in the Word document into test cases,and uses them to verify that the new feature meets the requirements. 5 Documentation engineers then translate the working software and code backinto plain English technical and functional documentation. There are many opportunities for information to get lost in translation, be misunderstood,or just be ignored. Chances are that the new module itself may not do exactlywhat was required and that the documentation won’t reflect the initial requirementsthat Chris gave the analyst.
  5. Chris’s friend Sarah runs another company that just introduced BDD. In a team practicingBDD, the business analysts, developers, and testers collaborate to understandand define the requirements together. They use a common languagethat allows for an easy, less ambiguous path from end-user requirements to usable, automatable tests. Like Chris, Sarah talks to a business analyst about what she wants. To reduce therisk of misunderstandings and hidden assumptions, they talk through concrete examples of what the feature should do. Before work starts on the feature, the business analyst gets together with the developer and tester who will be working on it, and they have a conversation about the feature. In this conversation, they discuss and translate key examples of how the feature should work into a set of requirements written in a structured, English-language format often referred to as Gherkin The developer uses a BDD tool to turn these requirements into a set of automatedtests that run against the application code and help objectively determinewhen a feature is finished. The tester uses the results of these tests as the starting point for manual andexploratory tests. The automated tests act as low-level technical documentation, and provideup-to-date examples of how the system works. Sarah can review the test reports tosee what features have been delivered, and whether they work the way she expected.
  6. Selenium - a suite of tools to automate web browsers across many platforms. Z jednej strony to bardzo wygodne dla programisty API pozwalające na interakcję z przeglądarką, z drugiej zaś to koncepcja sterowników (ang. driver), które tę bezpośrednią komunikację umożliwiają Doesn’t need a real browser No javascript limitations No need for a server.
  7. Selenium - a suite of tools to automate web browsers across many platforms. Z jednej strony to bardzo wygodne dla programisty API pozwalające na interakcję z przeglądarką, z drugiej zaś to koncepcja sterowników (ang. driver), które tę bezpośrednią komunikację umożliwiają
  8. Pozwala na odwzorowanie stron internetowych w klasy, w których metody reprezentują możliwe do wykonania akcje, natomiast pola - elementy na stronie.