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.

QA Fest 2016. Яков Крамаренко. Ликвидируем Безграмотность: Implicit & Explicit Waits, PageFactory

375 views

Published on

О явных и неявных ожиданиях а также PageFactory мы уже наслышаны и начитаны. И все еще многих из нас валят на собеседованиях по этим вопросам, особенно учитывая тот факт, что даже сами интервьюеры часто не понимают "полезного" смысла этих технологий - именно с практической стороны. В этом докладе мы расставим все точки над I, и разберемся через практику - когда появляется нужда в "вейтах", какие из двух их типов лучше использовать, и причем здесь вообще PageFactory? Ну а также поговорим почему все перечисленные выше технологии "чистого" Selenium на самом деле не эффективны в реальных тестах, и какие есть более удобные альтернативы.

Published in: Education
  • Be the first to comment

QA Fest 2016. Яков Крамаренко. Ликвидируем Безграмотность: Implicit & Explicit Waits, PageFactory

  1. 1. prefacE…
  2. 2. illiteracY eliminatioN waitS & pagEfactorY c# versioN
  3. 3. plaN (basics) 1 FAIL: simple e2e google test 2 PARTIAL FIX: implicit waits 3 FIX: implicit + explicit waits 4 FIX: explicit waits with locators 5 FAIL: explicit waits with elements 6 FIX: pagEfactorY for explicit waits with elements 7 FAIL: pagEfactorY limitation for inner search 8 FAIL: no any help from implicit waits 9 FIX: complex custom conditions for explicit waits 10 FAIL: atomic tests for solid coverage 11 FIX: additional waits and custom conditions
  4. 4. plaN (upgrades) 12 :( even more waits and custom conditions 13 UPGRADE: NSelene for the same but “implicit” and so concise 14: pagEobjectS: hello boilerplate! 15: UPGRADE: still simple with NSelene
  5. 5. codinG sessioN
  6. 6. summarY weBdriveR impliciT waitS - useless in dynamic world weBdriveR expliciT waitS + reliable - explicit => boilerplate - needed clumsy pagEfactorY or “By locators over elements” - lack of conditions - non-informative error messages weBdriveR pagEfactorY + gives dynamic elements for waits - only via pagEobjecT - only via fields with bulky [FindsBy] => boilerplate - only for first level of search (does not work for inner/indexed/etc elements) - magic
  7. 7. summarY weBdriveR expliciT waitS + reliable - boilerplate & non-informative… NSelene/Selene/Selenide + the SAME but + implicit => concise + informative + powerful weBdriveR pagEfactorY + gives dynamic elements - boilerplate - pared down…
  8. 8. q&a
  9. 9. @yashaka thanK yoU github.com/yashaka github.com/yashaka/nselene yashaka@gmail.com facebook.com/yashaka courses.automician.com
  10. 10. [“free”] QA fesT 2nd day: “taminG dinO-frameworkS” [paid] october 3rd: “widgetS workshoP (javA)” [paid] november: “fixing selenium waits and pagefactory course (javA)” [paid] now: “fixing selenium waits and pagefactory videos (c#)” available at courses.automician.com @yashaka nexT

×