Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Yandex
experience in
screenshot
based testing
Selenium Camp, 28.02.14
Леонид Руденко
lead QA engineer
@leonsabr
leonsabr@yandex-team.ru
http://habrahabr.ru/
company/yandex/blog/
200968/
Серп
Колдунщик
Колдунщик
Вы тестируете представление?
Вы сравниваете скриншоты?
Знаете проблемы?
План
Зачем тестировать верстку
Проблемы и решения
Демо
А оно вам надо?
Зачем тестировать верстку
Проблемы и решения
Демо
А оно вам надо?
Обычные функциональные тесты
Слишком долго
«Сдвиг на пиксель – откатываем!»
Сравнение скриншотов
В основе
Зачем тестировать верстку
Проблемы и решения
Демо
А оно вам надо?
Проблемы
• Серп – «шумная» страница
• Кроссбраузерность
• Как сделать хороший отчет?
Страница выдачи изменчива
Страница выдачи изменчива
Так проще!
Selenium Grid
Специальная олимпиада браузеров
Opera: нужен скриншот?
Opera: нужен скриншот?

window.open(!
"http://www.yandex.ru", !
"ya",!
"height=400,width=1200”!
);!

26
Специальная олимпиада браузеров
IE
Windows
Потерянные клики
Специальная олимпиада браузеров
Функциональные тесты
WebDriver driver = ...;!
driver.get()/findElement()/...!
...!
assertThat(...);!
Функциональные тесты
WebDriver driver = ...;!
driver.get()/findElement()/...!
...!
assertThat(...);!
driver.get()/findElem...
Функциональные тесты + скриншот
WebDriver driver = ...;!
driver.get()/findElement()/...!
...!
takeScreenshot(element);!
!
...
Как представить результаты?
Как представить результаты?
•  все важное – наверх
•  скриншоты не прятать
•  помочь в считывании диффа
•  разделять диффы...
Зачем тестировать верстку
Проблемы и решения
Демо
А оно вам надо?
Кунсткамера: поехал текст
Кунсткамера: изображения
Кунсткамера: CSS
Кунсткамера: данные
Кунсткамера: переводы
В чем профит?
Зачем тестировать верстку
Проблемы и решения
Демо
А оно вам надо?
Стоит обратить внимание, если
•  нужно тестировать верстку
Стоит обратить внимание, если
•  нужно тестировать статическую графику
Стоит обратить внимание, если
•  у сервиса есть «темы оформления»
Твой сервис?
Что может доставить проблемы?
•  изменчивость сервиса
Что может доставить проблемы?
•  нужно больше браузеров
Что может доставить проблемы?
•  случайные ошибки (IE, фокус, …)
Что было дальше: весь серп
Что было дальше: CI
Вопросы?
Yandex experience-in-screenshot-based-testing-seleniumcamp-2014
Yandex experience-in-screenshot-based-testing-seleniumcamp-2014
Nächste SlideShare
Wird geladen in …5
×

Yandex experience-in-screenshot-based-testing-seleniumcamp-2014

2.058 Aufrufe

Veröffentlicht am

Slides from Selenium Camp 2014 talk (February 28, 2014, stage A) about screenshot based testing.

Veröffentlicht in: Technologie
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ http://1lite.top/HadIw ◀ ◀ ◀ ◀
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Yandex experience-in-screenshot-based-testing-seleniumcamp-2014

  1. 1. Yandex experience in screenshot based testing Selenium Camp, 28.02.14
  2. 2. Леонид Руденко lead QA engineer @leonsabr leonsabr@yandex-team.ru http://habrahabr.ru/ company/yandex/blog/ 200968/
  3. 3. Серп
  4. 4. Колдунщик
  5. 5. Колдунщик
  6. 6. Вы тестируете представление?
  7. 7. Вы сравниваете скриншоты?
  8. 8. Знаете проблемы?
  9. 9. План Зачем тестировать верстку Проблемы и решения Демо А оно вам надо?
  10. 10. Зачем тестировать верстку Проблемы и решения Демо А оно вам надо?
  11. 11. Обычные функциональные тесты
  12. 12. Слишком долго
  13. 13. «Сдвиг на пиксель – откатываем!»
  14. 14. Сравнение скриншотов
  15. 15. В основе
  16. 16. Зачем тестировать верстку Проблемы и решения Демо А оно вам надо?
  17. 17. Проблемы • Серп – «шумная» страница • Кроссбраузерность • Как сделать хороший отчет?
  18. 18. Страница выдачи изменчива
  19. 19. Страница выдачи изменчива
  20. 20. Так проще!
  21. 21. Selenium Grid
  22. 22. Специальная олимпиада браузеров
  23. 23. Opera: нужен скриншот?
  24. 24. Opera: нужен скриншот? window.open(! "http://www.yandex.ru", ! "ya",! "height=400,width=1200”! );! 26
  25. 25. Специальная олимпиада браузеров
  26. 26. IE Windows
  27. 27. Потерянные клики
  28. 28. Специальная олимпиада браузеров
  29. 29. Функциональные тесты WebDriver driver = ...;! driver.get()/findElement()/...! ...! assertThat(...);!
  30. 30. Функциональные тесты WebDriver driver = ...;! driver.get()/findElement()/...! ...! assertThat(...);! driver.get()/findElement()/...! ...! assertThat(...);! !
  31. 31. Функциональные тесты + скриншот WebDriver driver = ...;! driver.get()/findElement()/...! ...! takeScreenshot(element);! ! ! ! !
  32. 32. Как представить результаты?
  33. 33. Как представить результаты? •  все важное – наверх •  скриншоты не прятать •  помочь в считывании диффа •  разделять диффы скриншотов и broken •  устаревшие сценарии не интересны
  34. 34. Зачем тестировать верстку Проблемы и решения Демо А оно вам надо?
  35. 35. Кунсткамера: поехал текст
  36. 36. Кунсткамера: изображения
  37. 37. Кунсткамера: CSS
  38. 38. Кунсткамера: данные
  39. 39. Кунсткамера: переводы
  40. 40. В чем профит?
  41. 41. Зачем тестировать верстку Проблемы и решения Демо А оно вам надо?
  42. 42. Стоит обратить внимание, если •  нужно тестировать верстку
  43. 43. Стоит обратить внимание, если •  нужно тестировать статическую графику
  44. 44. Стоит обратить внимание, если •  у сервиса есть «темы оформления»
  45. 45. Твой сервис?
  46. 46. Что может доставить проблемы? •  изменчивость сервиса
  47. 47. Что может доставить проблемы? •  нужно больше браузеров
  48. 48. Что может доставить проблемы? •  случайные ошибки (IE, фокус, …)
  49. 49. Что было дальше: весь серп
  50. 50. Что было дальше: CI
  51. 51. Вопросы?

×