SlideShare a Scribd company logo
1 of 22
AKCJA
AUTOMATYZACJA! #2
CZYLI CZYM, NA CZYM I W JAKI SPOSÓB…
1
KIM JESTEM?
„Rudy”
znany również jako…
Łukasz Romanowicz
2
Pracuję w wojsku! 3
4
Agenda
 Narzędzia do automatyzacji
 O lokatorach słów kilka…
 WebElements
 ID
 Name
 CSS Selector
 Xpath
 Selenium WebDriver – nieco teorii!
 Obsługiwane języki
 Obsługiwane przeglądarki
 Jak działa?
 Co można zrobić za jego pomocą?
 Konfiguracja środowiska
 Niezbędne narzędzia
 Stworzenie projektu
 Pierwsze testy
5
Czym możemy automatyzować?
 Desktop:
 Ranorex
 Sahi
 TestComplete
 Mobile:
 Appium
 Espresso
 Robotium
 Calabash
 Web:
 SeleniumWebDriver
 CypressJS
 ProtractorJS
 NightwatchJS
6
#1 Zanim pomachamy kilofem,
najpierw o tym jak go trzymać!
7
WebElements! 8
To wszystko co widzimy na stronie
(wszystko co znajduje się w HTML`u).
Kropka 
ID (AjDi, I-De, I-Dy… eee Macarena!) 9
Atrybut ten określa unikalne ID dla
konkretnego elementu na stronie.
Np.
<input type=„text” id=„uniqueID”>
Name! 10
Po prostu – nazwa dla danego elementu, po
której możemy się do niego odwołać 
Np.
<button type=„text” name=„decision”>Submit Decision</buton>
CSS Selector – może boleć, lecz nie musi  11
W CSS, selektorów używany w celu
„namierzenia” elementów, które chcemy
ostylować.
Np.
#superButton – znajdź element o ID „superButton”
.superClass – znajdź wszystkie elementy zawierające klasę „superClass”
div > p – znajdź elementy <p>, których bezpośrednim rodzicem jest <div>
XPath – zazwyczaj boli… bardzo. 12
W skrócie… Język ścieżek XML – kluczowe
słowo „ścieżka” 
Wskazujemy innymi słowy ściężkę do elementu.
Np.
//nazwaTagu[@nazwaAtrybutu=’wartośćAtrybutu’]
//button[@text=„Submit Form”]
13
#2 Selenium w teorii!
Obsługiwane języki 14
 Java
 C#
 Ruby
 Python
 JavaScript
Obsługiwane przeglądarki 15
 Google Chrome
 Mozilla Firefox
 Internet Explorer
 Opera
 Safari (MacOS)
Jak działa? 16
17Co można zrobić za jego pomocą?
 Mnóstwo rzeczy… między innymi:
 Znajdować element/elementy
 Klikać
 Wpisywać
 Pobierać tekst
 Sprawdzać obecność elementu
 Pobierać atrybuty elementu
 Wysyłać formularz
 I wiele innych…
18
#3 Konfiguracja środowiska!
19Niezbędne narzędzia
 JDK (Java Develompent Kit)
 IDE (według preferencji, polecam jednak IntelliJ IDEA)
 Selenium WebDriver
 Chrome Driver (lub inny, w zależności której przeglądarki chcecie użyć  )
Masz pytania? 20
Śmiało pisz!
Łukasz Romanowicz
Test Automation Engineer
LinkedIn: Łukasz Romanowicz
email: lukasz.romanowicz@testarmy.com
PYTAJCIE! 
21
Dzięki wielkie!! 22

More Related Content

Similar to WEBINAR 2 # Podstawy Selenium WebDriver

4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech DworakowskiPROIDEA
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
[PL] Jak programować aby nie zwariować
[PL] Jak programować aby nie zwariować[PL] Jak programować aby nie zwariować
[PL] Jak programować aby nie zwariowaćJakub Marchwicki
 
Warsztaty: Podstawy PHP - część 2 - omówienie składni języka PHP (wersja 7)
Warsztaty: Podstawy PHP - część 2 - omówienie składni języka PHP (wersja 7)Warsztaty: Podstawy PHP - część 2 - omówienie składni języka PHP (wersja 7)
Warsztaty: Podstawy PHP - część 2 - omówienie składni języka PHP (wersja 7)Codesushi.co (CODESUSHI LLC)
 
AADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScriptAADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScriptJacek Okrojek
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbaćBartosz Ratajczyk
 
DynamoDB – podstawy modelowania danych dla opornych
DynamoDB – podstawy modelowania danych dla opornychDynamoDB – podstawy modelowania danych dla opornych
DynamoDB – podstawy modelowania danych dla opornychThe Software House
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Architektura to nie bzdura
Architektura to nie bzduraArchitektura to nie bzdura
Architektura to nie bzduraPawel Szulc
 
Semantyka w tworzeniu stron www prezentacja
Semantyka w tworzeniu stron www   prezentacjaSemantyka w tworzeniu stron www   prezentacja
Semantyka w tworzeniu stron www prezentacjaPiotr Nalepa
 
Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Natalia Stanko
 
Wydajność webowa jak to ugryźć
Wydajność webowa   jak to ugryźćWydajność webowa   jak to ugryźć
Wydajność webowa jak to ugryźćKonrad Kokosa
 
[PL] Jak programować aby nie zwariować?
[PL] Jak programować aby nie zwariować?[PL] Jak programować aby nie zwariować?
[PL] Jak programować aby nie zwariować?Jakub Marchwicki
 
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PROIDEA
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieGrzegorz Godlewski
 

Similar to WEBINAR 2 # Podstawy Selenium WebDriver (20)

4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
[PL] Jak programować aby nie zwariować
[PL] Jak programować aby nie zwariować[PL] Jak programować aby nie zwariować
[PL] Jak programować aby nie zwariować
 
Devops security
Devops securityDevops security
Devops security
 
Warsztaty: Podstawy PHP - część 2 - omówienie składni języka PHP (wersja 7)
Warsztaty: Podstawy PHP - część 2 - omówienie składni języka PHP (wersja 7)Warsztaty: Podstawy PHP - część 2 - omówienie składni języka PHP (wersja 7)
Warsztaty: Podstawy PHP - część 2 - omówienie składni języka PHP (wersja 7)
 
AADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScriptAADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScript
 
Behat
BehatBehat
Behat
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
 
DynamoDB – podstawy modelowania danych dla opornych
DynamoDB – podstawy modelowania danych dla opornychDynamoDB – podstawy modelowania danych dla opornych
DynamoDB – podstawy modelowania danych dla opornych
 
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Architektura to nie bzdura
Architektura to nie bzduraArchitektura to nie bzdura
Architektura to nie bzdura
 
Semantyka w tworzeniu stron www prezentacja
Semantyka w tworzeniu stron www   prezentacjaSemantyka w tworzeniu stron www   prezentacja
Semantyka w tworzeniu stron www prezentacja
 
Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2
 
Wydajność webowa jak to ugryźć
Wydajność webowa   jak to ugryźćWydajność webowa   jak to ugryźć
Wydajność webowa jak to ugryźć
 
[PL] Jak programować aby nie zwariować?
[PL] Jak programować aby nie zwariować?[PL] Jak programować aby nie zwariować?
[PL] Jak programować aby nie zwariować?
 
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecie
 

More from testuj.pl

Data Driven Testing za pomocą narzędzia Ranorex
Data Driven Testing za pomocą narzędzia RanorexData Driven Testing za pomocą narzędzia Ranorex
Data Driven Testing za pomocą narzędzia Ranorextestuj.pl
 
Jak poprawnie zgłaszać błędy?
Jak poprawnie zgłaszać błędy?Jak poprawnie zgłaszać błędy?
Jak poprawnie zgłaszać błędy?testuj.pl
 
Page Object Pattern dla dużej aplikacji webowej
Page Object Pattern dla dużej aplikacji webowejPage Object Pattern dla dużej aplikacji webowej
Page Object Pattern dla dużej aplikacji webowejtestuj.pl
 
Przetestuj swoje CV
Przetestuj swoje CVPrzetestuj swoje CV
Przetestuj swoje CVtestuj.pl
 
Kariera Pentestera
Kariera PentesteraKariera Pentestera
Kariera Pentesteratestuj.pl
 
Fakty i mity na temat zawodu testera oprogramowania
Fakty i mity na temat zawodu testera oprogramowaniaFakty i mity na temat zawodu testera oprogramowania
Fakty i mity na temat zawodu testera oprogramowaniatestuj.pl
 
Matka, żona, i...testerka
Matka, żona, i...testerkaMatka, żona, i...testerka
Matka, żona, i...testerkatestuj.pl
 
WEBINAR 3 # Pierwszy test automatyczny
WEBINAR 3 # Pierwszy test automatycznyWEBINAR 3 # Pierwszy test automatyczny
WEBINAR 3 # Pierwszy test automatycznytestuj.pl
 
WEBINAR 1# Wprowadzenie do automatyzacji testów
WEBINAR 1# Wprowadzenie do automatyzacji testówWEBINAR 1# Wprowadzenie do automatyzacji testów
WEBINAR 1# Wprowadzenie do automatyzacji testówtestuj.pl
 
Halo! Tu baza SQL - Różnice między silnikami baz danych
Halo! Tu baza SQL - Różnice między silnikami baz danychHalo! Tu baza SQL - Różnice między silnikami baz danych
Halo! Tu baza SQL - Różnice między silnikami baz danychtestuj.pl
 
Halo! Tu baza SQL - Jak zacząć naukę języka SQL?
Halo! Tu baza SQL - Jak zacząć naukę języka SQL?Halo! Tu baza SQL - Jak zacząć naukę języka SQL?
Halo! Tu baza SQL - Jak zacząć naukę języka SQL?testuj.pl
 
Wyznania Legalnego Hakera
Wyznania Legalnego HakeraWyznania Legalnego Hakera
Wyznania Legalnego Hakeratestuj.pl
 
Parametryzacja testów automatycznych
Parametryzacja testów automatycznychParametryzacja testów automatycznych
Parametryzacja testów automatycznychtestuj.pl
 
Szukamy dziury w całym - czyli nauka testowania oprogramowania
Szukamy dziury w całym - czyli nauka testowania oprogramowaniaSzukamy dziury w całym - czyli nauka testowania oprogramowania
Szukamy dziury w całym - czyli nauka testowania oprogramowaniatestuj.pl
 
Język SQL dla żółtodziobów
Język SQL dla żółtodziobów  Język SQL dla żółtodziobów
Język SQL dla żółtodziobów testuj.pl
 
SCRUM w pracy Testera Oprogramowania
SCRUM w pracy Testera OprogramowaniaSCRUM w pracy Testera Oprogramowania
SCRUM w pracy Testera Oprogramowaniatestuj.pl
 
Kobiety do testów. Praktykujemy!
Kobiety do testów. Praktykujemy!Kobiety do testów. Praktykujemy!
Kobiety do testów. Praktykujemy!testuj.pl
 
Proces testowania od kuchni
Proces testowania od kuchniProces testowania od kuchni
Proces testowania od kuchnitestuj.pl
 

More from testuj.pl (18)

Data Driven Testing za pomocą narzędzia Ranorex
Data Driven Testing za pomocą narzędzia RanorexData Driven Testing za pomocą narzędzia Ranorex
Data Driven Testing za pomocą narzędzia Ranorex
 
Jak poprawnie zgłaszać błędy?
Jak poprawnie zgłaszać błędy?Jak poprawnie zgłaszać błędy?
Jak poprawnie zgłaszać błędy?
 
Page Object Pattern dla dużej aplikacji webowej
Page Object Pattern dla dużej aplikacji webowejPage Object Pattern dla dużej aplikacji webowej
Page Object Pattern dla dużej aplikacji webowej
 
Przetestuj swoje CV
Przetestuj swoje CVPrzetestuj swoje CV
Przetestuj swoje CV
 
Kariera Pentestera
Kariera PentesteraKariera Pentestera
Kariera Pentestera
 
Fakty i mity na temat zawodu testera oprogramowania
Fakty i mity na temat zawodu testera oprogramowaniaFakty i mity na temat zawodu testera oprogramowania
Fakty i mity na temat zawodu testera oprogramowania
 
Matka, żona, i...testerka
Matka, żona, i...testerkaMatka, żona, i...testerka
Matka, żona, i...testerka
 
WEBINAR 3 # Pierwszy test automatyczny
WEBINAR 3 # Pierwszy test automatycznyWEBINAR 3 # Pierwszy test automatyczny
WEBINAR 3 # Pierwszy test automatyczny
 
WEBINAR 1# Wprowadzenie do automatyzacji testów
WEBINAR 1# Wprowadzenie do automatyzacji testówWEBINAR 1# Wprowadzenie do automatyzacji testów
WEBINAR 1# Wprowadzenie do automatyzacji testów
 
Halo! Tu baza SQL - Różnice między silnikami baz danych
Halo! Tu baza SQL - Różnice między silnikami baz danychHalo! Tu baza SQL - Różnice między silnikami baz danych
Halo! Tu baza SQL - Różnice między silnikami baz danych
 
Halo! Tu baza SQL - Jak zacząć naukę języka SQL?
Halo! Tu baza SQL - Jak zacząć naukę języka SQL?Halo! Tu baza SQL - Jak zacząć naukę języka SQL?
Halo! Tu baza SQL - Jak zacząć naukę języka SQL?
 
Wyznania Legalnego Hakera
Wyznania Legalnego HakeraWyznania Legalnego Hakera
Wyznania Legalnego Hakera
 
Parametryzacja testów automatycznych
Parametryzacja testów automatycznychParametryzacja testów automatycznych
Parametryzacja testów automatycznych
 
Szukamy dziury w całym - czyli nauka testowania oprogramowania
Szukamy dziury w całym - czyli nauka testowania oprogramowaniaSzukamy dziury w całym - czyli nauka testowania oprogramowania
Szukamy dziury w całym - czyli nauka testowania oprogramowania
 
Język SQL dla żółtodziobów
Język SQL dla żółtodziobów  Język SQL dla żółtodziobów
Język SQL dla żółtodziobów
 
SCRUM w pracy Testera Oprogramowania
SCRUM w pracy Testera OprogramowaniaSCRUM w pracy Testera Oprogramowania
SCRUM w pracy Testera Oprogramowania
 
Kobiety do testów. Praktykujemy!
Kobiety do testów. Praktykujemy!Kobiety do testów. Praktykujemy!
Kobiety do testów. Praktykujemy!
 
Proces testowania od kuchni
Proces testowania od kuchniProces testowania od kuchni
Proces testowania od kuchni
 

WEBINAR 2 # Podstawy Selenium WebDriver

  • 1. AKCJA AUTOMATYZACJA! #2 CZYLI CZYM, NA CZYM I W JAKI SPOSÓB… 1
  • 2. KIM JESTEM? „Rudy” znany również jako… Łukasz Romanowicz 2
  • 4. 4
  • 5. Agenda  Narzędzia do automatyzacji  O lokatorach słów kilka…  WebElements  ID  Name  CSS Selector  Xpath  Selenium WebDriver – nieco teorii!  Obsługiwane języki  Obsługiwane przeglądarki  Jak działa?  Co można zrobić za jego pomocą?  Konfiguracja środowiska  Niezbędne narzędzia  Stworzenie projektu  Pierwsze testy 5
  • 6. Czym możemy automatyzować?  Desktop:  Ranorex  Sahi  TestComplete  Mobile:  Appium  Espresso  Robotium  Calabash  Web:  SeleniumWebDriver  CypressJS  ProtractorJS  NightwatchJS 6
  • 7. #1 Zanim pomachamy kilofem, najpierw o tym jak go trzymać! 7
  • 8. WebElements! 8 To wszystko co widzimy na stronie (wszystko co znajduje się w HTML`u). Kropka 
  • 9. ID (AjDi, I-De, I-Dy… eee Macarena!) 9 Atrybut ten określa unikalne ID dla konkretnego elementu na stronie. Np. <input type=„text” id=„uniqueID”>
  • 10. Name! 10 Po prostu – nazwa dla danego elementu, po której możemy się do niego odwołać  Np. <button type=„text” name=„decision”>Submit Decision</buton>
  • 11. CSS Selector – może boleć, lecz nie musi  11 W CSS, selektorów używany w celu „namierzenia” elementów, które chcemy ostylować. Np. #superButton – znajdź element o ID „superButton” .superClass – znajdź wszystkie elementy zawierające klasę „superClass” div > p – znajdź elementy <p>, których bezpośrednim rodzicem jest <div>
  • 12. XPath – zazwyczaj boli… bardzo. 12 W skrócie… Język ścieżek XML – kluczowe słowo „ścieżka”  Wskazujemy innymi słowy ściężkę do elementu. Np. //nazwaTagu[@nazwaAtrybutu=’wartośćAtrybutu’] //button[@text=„Submit Form”]
  • 13. 13 #2 Selenium w teorii!
  • 14. Obsługiwane języki 14  Java  C#  Ruby  Python  JavaScript
  • 15. Obsługiwane przeglądarki 15  Google Chrome  Mozilla Firefox  Internet Explorer  Opera  Safari (MacOS)
  • 17. 17Co można zrobić za jego pomocą?  Mnóstwo rzeczy… między innymi:  Znajdować element/elementy  Klikać  Wpisywać  Pobierać tekst  Sprawdzać obecność elementu  Pobierać atrybuty elementu  Wysyłać formularz  I wiele innych…
  • 19. 19Niezbędne narzędzia  JDK (Java Develompent Kit)  IDE (według preferencji, polecam jednak IntelliJ IDEA)  Selenium WebDriver  Chrome Driver (lub inny, w zależności której przeglądarki chcecie użyć  )
  • 20. Masz pytania? 20 Śmiało pisz! Łukasz Romanowicz Test Automation Engineer LinkedIn: Łukasz Romanowicz email: lukasz.romanowicz@testarmy.com