Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski

294 views

Published on

TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
tgt.org.pl

Published in: Technology
  • Be the first to comment

  • Be the first to like this

TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski

  1. 1. Protractor Jakub Raniszewski
  2. 2. Agenda 1. Kilka słów o frameworku Protractor 2. Tips & tricks 3. Problemy i rozwiązania
  3. 3. Protractor
  4. 4. Dodatkowe komponenty
  5. 5. Webdriver Manager 1. Zarządzanie serwerem selenium i jego wersjami 2. Zarządzanie driverami i ich wersjami 3. Upraszcza startowanie serwera selenium oraz ułatwia konfigurację. webdriver-manager update webdriver-manager start webdriver-manager status webdriver-manager start --versions.chrome 2.20 --versions.standalone 3.8.1 webdriver-manager start --seleniumPort 4545
  6. 6. Protractor config Plik javascriptowy zawierający konfigurację wykorzystywaną przez Protractora do wykonywania testów.
  7. 7. Startowanie testów protractor config.js
  8. 8. Karma i Jasmine 1. Przystępny sposób pisania testów 2. Odpalanie testów 3. Logowanie zdarzeń 4. Testy w Protraktorze domyślnie używają frameworka Jasmine
  9. 9. Raportowanie npm install jasmine-spec-reporter --save
  10. 10. Gulp i Typescript 1. Wygoda jaką daje pisanie kodu w TypeScript 2. Definiowanie własnych procesów: a. Sprawdzanie składni - tslint b. Kompilowanie do Javascriptu c. Wykonywanie testów d. Parametryzacja procesów e. Składanie kilku procesów w jeden
  11. 11. Jak zacząć? http://www.protractortest.org
  12. 12. Tips and Tricks
  13. 13. Lokatory - znajdowanie elementu na stronie Lokatory dostępne w Selenium: - by id - by css - by class name - by button text - by name Nowe lokatory dla Angulara: - by binding - by repeater - by model
  14. 14. Wyszukiwanie wielu elementów 1. Lokatory takie same jak dla pojedyńczego elementu 2. element(locator) → all(locator) 3. ElementArrayFinder
  15. 15. Protractor expected conditions 1. Używamy ich do definiowania akcji czekania. 2. Używane w browser.wait(condition, timeout) 3. Przykłady: a. visibilityOf b. elementToBeClickable c. elementToBeSelected
  16. 16. Struktura frameworka testowego Page object Flow Delegata Spec Protractor Jasmine
  17. 17. Użycie webapi npm install request npm install request-promise
  18. 18. Problemy i rozwiązania
  19. 19. Kwarantanna
  20. 20. Rozwiązywanie wielu promisów na raz Przypomnijmy sobie slajd poświęcony wyszukiwaniu wielu elementów. Co jeżeli chcemy sprawdzić, czy tytuły są takie same jak elementy tablicy.
  21. 21. Często spotykane błędy Nieangularowa strona: browser.ignoreSynchronization = true Problem z oczekiwaniem:
  22. 22. Zalety Protractora 1. Javascript/Typescript 2. Automatyczna synchronizacja dla stron angularowych 3. Możliwość automatyzacji testów dla stron nieangularowych 4. Zestaw dodatkowych lokatorów dla AngularJS 5. Łatwość w stworzeniu frameworka testowego 6. Testowanie równolegle na wielu przeglądarkach 7. Dostępność dokumentacji
  23. 23. Dziękuję za uwagę 

×