Automatyzacja testów aplikacji webowych w Selenium podstawy. Natalia Krawczyk



Podobne dokumenty
Automatyzacja Testowania w WEB 2.0

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Całościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Aplikacje WWW - lab 11

Dokumentacja użytkownika

Zaawansowane aplikacje internetowe - laboratorium

Wyzwania w automatyzacji Selenium WebDriver

Michał Sierzputowski. Zautomatyzuj swoje testy automatyczne oparte o Selenium

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Testowanie aplikacji. Kurs języka Ruby

Automatyzacja bez nadmiernego bólu. Piotr Januszek

REFERAT PRACY DYPLOMOWEJ

Warsztat: "Automatyzacja testów (JAVA) - od podstaw"

Testy aplikacji webowych

Programowanie w Ruby

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

Automatyzacja narzędziami open source nie musi być trudna

Przegląd narzędzi do automatycznego testowania aplikacji internetowych. Jan Płoszczyca SKISR 2006

WebAii Automation Framework

Szkolenie: Automatyzacja testowania

Testowanie aplikacji Java Servlets

Programowanie zespołowe

Testowanie. Ryszard Beczek & Piotr Miłkowski 1 04/11/07

Szkolenie: Podstawy automatyzacji z Selenium IDE

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Data-Driven Testing z Selenium

Microsoft Test Manager

Programowanie Obiektowe GUI

Tworzenie bazy danych w środowisku OpenOffice.org Base tabela, formularz, kwerenda, raport

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Wstęp do testowania : Szymon Ramczykowski

WASM AppInventor Lab 2. Komponenty połączeń telefonicznych i składowania danych KOMPONENTY ODPOWIEDZIALNE ZA WYKONYWANIE POŁĄCZEŃ TELEFONICZNYCH

Rys. 3. Kod elementów na stronie po dodaniu kontrolek podstawowych.

Przewodnik użytkownika (instrukcja) AutoMagicTest

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP The OWASP Foundation

Wstęp INFORMATOR TECHNICZNY WONDERWARE. Wysyłanie wiadomości z programu Wonderware Historian. 1. Aktywowanie Database Mail

Laboratorium - Użycie narzędzia Przywracanie systemu w Windows Vista

Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5

Zaawansowane aplikacje internetowe laboratorium REST

Techniki efektywnego testowania kodu dla programistów Java (Spock

Instrukcja laboratoryjna cz.3

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Automaty do zadań specjalnych. Olga Maciaszek-Sharma, Artur Kotow Wersja 1,

Process Automation Toolkit (PAT)

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Instalacja i opis podstawowych funkcji programu Dev-C++

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści

Programowanie warstwy klienta w aplikacji JavaEE

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

SZKOLENIE TWORZENIE SYSTEMÓW

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Laboratorium - Użycie narzędzia Przywracanie systemu w systemie Windows 7

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Instrukcja laboratoryjna

Podstawy Pentaho Data Integration

Słowa kluczowe jak góry lodowe

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Programowanie poprzez testy z wykorzystaniem JUnit

JUnit TESTY JEDNOSTKOWE. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

Programowanie w Ruby

Galileo v10 pierwszy program

Przewodnik użytkownika (instrukcja) AutoMagicTest

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Kostki OLAP i język MDX

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Laboratorium - Konfiguracja ustawień przeglądarki w Windows Vista

Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

Laboratorium 050. Crystal Reports. Ćwiczenie 1. Otwarte pozycje

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

METODY PROGRAMOWANIA

Roboty Przemysłowe. Rys. 1. Główne okno Automation Studio.

Tworzenie i wykorzystanie usług sieciowych

2. Podstawy narzędzia Application Builder, budowa strony, kreatory aplikacji

1.Wstęp. 2.Generowanie systemu w EDK

Jak usprawnić tworzenie i zarządzanie stroną na drupalu. Maciej Łukiański

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Automatyzacja procesu testowego

Zadanie 1. Tworzenie nowej "strony sieci WEB". Będziemy korzystad ze stron w technologii ASP.NET.

Laboratorium 6 Tworzenie bloga w Zend Framework

Aplikacja Shoper Appstore Powiązane w koszyku REALIZACJA

Laboratorium A: Zarządzanie ustawieniami zabezpieczeń/klucz do odpowiedzi

Informatyzacja Przedsiębiorstw

Część 3 - Konfiguracja

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

APL_03_scenariusz_lekcji. Rodzaje kontrolek i ich obsługa w programach. Informatyka. Jadwiga Jezierska. Osiedle Stawki 39/27

Aplikacje internetowe

Blokowanie stron internetowych

Laboratorium A: Monitorowanie aktywności serwera

Transkrypt:

Automatyzacja testów aplikacji webowych w Selenium podstawy Natalia Krawczyk

Automatyzacja testów UI...... czyli symulacja operacji wykonywanych przez użytkownika na interfejsie aplikacji webowej

Kiedy automatyzować? Przy częstych zmianach w aplikacji testy regresji Kiedy chcemy skrócić czas testowania aplikacji Przy dużej ilości danych testowych

Zalety automatyzacji testów Powtarzalność Analiza wyników automatycznie generowane raporty i logi Przyśpieszenie testów Możliwość przetestowania wielu danych wejściowych (DDT) Źródło: http://bilibworld.blogspot.com/2013/06/zmien-swojewady-w-zalety.html

Wady automatyzacji testów Utrzymanie Dodatkowe koszty (zakup narzędzi, szkolenia itp.) Automat to nie człowiek... Źródło: http://bilibworld.blogspot.com/2013/06/zmien-swojewady-w-zalety.html

Automatyzacja = scenariusze (przypadki) testowe + podstawowa wiedza programistyczna + narzędzia

Powtórka z programowania

Klasy, metody, zmienne...

Narzędzia Źródło: http://www.zabawki-fisherprice.pl/files/product/450/134.jpg

Selenium framework do automatyzacji testów aplikacji webowych Selenium IDE record/play Selenium RC Selenium WebDriver

NUnit framework do tworzenia testów jednostkowych dla środowiska.net

[TestFixture] [Test] [TestCase] [TestFixtureSetup] [SetUp] [TearDown] [TestFixtureTearDown] Nunit - atrybuty

Przykładowy test Nazwa testu Element na stronie Driver (nasza przeglądarka) Selektor Asercja, czyli sprawdzenie wyniku testu

Konfiguracja projektu w Visual Studio Utwórz projekt typu ClassLibrary (C#) Kliknij PPM na References Wybierz Manage NuGet Packages... Wyszukuj i zainstaluj: Nunit, Selenium WebDriver, Selenium WebDriver Support Classes, WebDriver-backed Selenium

Podstawowe komendy i atrybuty WebDriver IWebDriver.Navigate().GoToUrl(string url) IWebDriver.Close() IWebDriver.Url IWebDriver.Title IWebDriver.Navigate().Refresh() IWebDriver.Navigate().Back() IWebDriver.Navigate().Forward() IWebDriver.Manage().Window.Maximize()

Ćwiczenie: 1. Utwórz klasę Tests 2. Dodaj pierwszy test 3. W teście zainicjuj drivera 4. Otwórz stronę WrotQA 5. Zamknij przeglądarkę

Elementy na stronie IWebElement - odpowiada jednemu elementowi na stronie wskazanego przez selektor Do znajdywana elementów na stronie służy: FindElement() oraz FindElements()

Selektory By.ID By.TagName By.ClassName By.Name By.Xpath By.CSSPath Źródło: http://jenniferbarnett.edublogs.org/files/2012/06/find-your-way-nuepft.jpg

Przykład 1: www.youtube.com 3 1,2

Przykład 2 www.youtube.com

Ćwiczenie Znajdź elementy na stronie WrotQA: - navigation menu - pole tekstowe Szukaj - przycisk Szukaj - link do notatki o dzisiejszym spotkaniu

Operacje na elementach SendKeys() Click() Clear() FindElement() Submit() GetAttribute()

Atrybuty elementów Text Displayed Enabled Location Selected TagName

Ćwiczenie Wykonaj następujące na znalezionych w poprzednim ćwiczeniu elementach: - click - send keys - get attribute - submit - clear

Asercje Sprawdzenie statusu/stanu aplikacji lub elementu Jeśli wynik negatywny test zostaje przerwany Klasa Asserts (NUnit) http://www.modernanalyst.com/portals/0/public%20uploads%202/t rue_or_false_fotolia_15918310_xs.jpg

Asercje AreEqual pozwala na porównanie wartości zmiennej IsFalse oraz IsTrue porównywanie wartości logicznych IsNull oraz IsNotNull - pozwalają sprawdzić czy referencja jest lub nie jest null

Ćwiczenie: Napisz test sprawdzający wyszukiwarkę na stronie WrotQA

Akcje Klasa Actions umożliwia symulację bardziej skomplikowanych akcji na elementach Akcje musimy zainicjować: Actions action = new Actions(driver); Akcje wymagają zbudowania : action.build().perform(); Akcje można łączyć w łańcuch: action.movetoelement(element).doubleclick().buil d().perform();

Akcje ContextClick(IWebElement element) DoubleClick(IWebElement element) MoveToElement(IWebElement toelement) KeyDown(Keys thekey) KeyUp(Keys thekey) DragAndDrop(IWebElement source, IWebElement target)

Ćwiczenie: Napisz test który: 1. Otworzy stronę Testing Cup 2. Najedzie kursorem na O testing cup 3. Z menu wybierz Projekt 4. Sprawdź czy strona o Projekcie została otworzona (ustaw rozmiar przeglądarki na maximum)

Źródło: http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/00000/1000/600/1672/1672.strip.gif

Jaki powinien być dobrze napisany test? Selektory oraz metody pomocnicze powinne być odseparowane od testu Czytelny (DSL) Przystosowany do zmian Hierarchia przy wyborze selektora: id > name > css > xpath Nazwa testu powinna mówić o przedmiocie testu i jego spodziewanym wyniku

Dobre praktyki w tworzeniu automatycznych testów UI Page Object Pattern Page Factory Domain Specific Language Bot Style Tests Data Driven Testing Behavior Driven Development Źródło: http://sd.keepcalm-o-matic.co.uk/i/share-ideas-and-goodpractice.png

Ćwiczenie: 1. Utwórz metody wykonujące pojedyncze operacje w teście np. wpisywanie do pola wyszukiwania 2. Zamień w teście wszystkie wykonywane operacje na wywołanie metod utworzonych w punkcie 1

FINITO! Dziękuję ;)