Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Test Automation With WebDriverIO

Test Automation With WebDriverIO

WebdriverIO was on of the first WebDriver bindings published to NPM in 2011. Since then it has been constantly maintained and rewritten multiple times. It is now one of the most mature test frameworks for end-to-end tests written in JavaScript. In this presentation, Christian will discuss the latest major release of the project, and demonstrate how to build a sophisticated end-to-end test suite for any project at scale. He will also showcase a lot of new features and best practices using WebdriverIO.

Christian Bromann

November 22, 2018
Tweet

More Decks by Christian Bromann

Other Decks in Programming

Transcript

  1. àńöƴŊƦƴńġàġĒ(ƞŊǔġƞƛƞŸƴŸēŸŢ͍ 䕬 4Ę <L(8   "   䕬

    5" /843<5 䕬 .C8  䕬 )Ę 7*89.  䕬 (  "   䕬 (       D   -995 E
  2. (! ,! .*)! *)! 8  )! &  8

    < )!& -995 8 , *)./ ' (Rtk—(4' (ku ' (`'$&tu
  3. 8  2 8$    352  

    "  /8Ę àġĒĚƞŊǔġƞX„ēöŭĒġƼƦġĚŊŭƴńƞġġĚŊĻĻġƞġŭƴūŸĚġƦ͉ <).49  :    $   $     $(+*-/x- (*/ y!-*(l2 -$1 -$*m *)./'$ )/- (*/ tx +$'$/$ .ax```y yu R2$*2$*`*)!`%. ' 2 2 . $   $  $(+*-/ -$1 -!-*(j2 -$1 -j *)./'$ )/2$/ -$1 - `) 2 ..$*)tx +$'$/$ .ax -*2. -( aj!$- !*3j y yu
  4. $(+*-/ -$1 -!-*(j2 -$1 -j bt.4)tu…x *)./'$ )/2$/ -$1 -`)

    2 ..$*)tx +/#aj‰j_ +$'$/$ .ax-*2. -( aj!$- !*3jy yu 2$/'$ )/`)1$"/ *tj#//+.a‰‰222`"**"' `*(‰)-ju *)./. -# )+0/2$/'$ )/`!$)' ( )/tj... ' /*-j_j—'./g$ju 2$/'$ )/` ' ( )/ ) 4.t . -# )+0/vj ' ( )/g<6<<g77 :g;8 g:!=9;:<< !jw_j -$1 -j u ‰‰``` *).*' `'*"t2$/'$ )/`" /$/' tuu‰‰*0/+0/.k -$1 -g**"'  -#k 2$/'$ )/` ' /  ..$*)tu yutu ª0w0Àmw„(0
  5. $(+*-/x- (*/ y!-*(j2 -$1 -$*j bt.4)tu…x *)./-*2. -2$/- (*/ tx

    +$'$/$ .ax -*2. -( aj#-*( j y yu 2$/-*2. -`0-'tj#//+a‰‰2 -$1 -`$*ju *)./ ' (2$/-*2. -`Rtj—.*( ' (ju 2$/ ' (`'$&tu ‰‰``` 2$/-*2. -` ' /  ..$*)tu yutu ²Ày(m„y0w„(0
  6.  .-$ tj2 -$1 -`$*+$+" j_!0)/$*)tux $/tj.#*0' ' /*!$'/ -!*-*(().j_!0)/$*)tux

    2$/-*2. -`0-'tj#//+a‰‰2 -$1 -`$*‰+$`#/('jub 2$/t2$/Rtj`. -#-$)+0/juu`. /'0 tj" /jub *)./'$)&.2$/RRtj`*(().`+-*+ -/4ju 1-- .0'/.-*($. `''t'$)&.`!$'/ -t!0)/$*)t'$)&ux - /0-)'$)&`$.$.$' tub yuub  3+ /t- .0'/.`' )"/#u`/* t9ub ‰‰# &*0/. *)- .0'/ 2$/- .0'/.v7w`'$&tub 2$/ 3+ /t2$/Rtj`*#7juu`/* 1  3/tjjub yub yub à(X„À0²ÀªÇyy0ªw„(0
  7. §mÇJXy²τ0åÀ0y²X„y² + " 䕬 2 䕬 /  䕬 (

       7 䕬 8 䕬 ) 䕬 &  䕬 /: 䕬 9 ($ 䕬 9  䕬 2 " 䕬  8! 䕬 8  䕬 &  䕬 8 8! 䕬 <   䕬 (! 䕬 8 8   䕬 ) 䕬 
  8. ²0ªßX!0²Xyà0 (ªXß0ª͌X„ 䕬 7 Ę $  Ę 䕬 &!

       䕭 5 Š( 䕭 8Š 8 䕭 Š  䕭 8 Š 8  䕭 9Š 9 䕭 ( Š (  䕬 ( $Ę     "  䕬 2 $!  $#352 䕬 8  $   " !
  9. *" # *)./#  -Rtj#7 '*( /*(4" jub *)./# 

    -8Rtj#7– '*( jub R„àÀ„²0m0!À0m0w0yÀ² DzXyJà0 (ªXß0ª§ª„À„!„m (886 $8 *)./ ' (Rtj#8`.0# $)"jub ' (`'$&tub 19# „[gg$) 3`#/('gg… „#- !k#//+a‰‰2 -$1 -`$*k… -$1 - „‰… „#7… '*( /*(4" „‰#7… ‰‰/ ./`%. *)./'$)&Rtj -$1 - jub *).*' `'*"t'$)&`" / 3/tuub‰‰*0/+0/.ak -$1 - k 5  19# *)./'$)&Rtj–-$1 -jub *).*' `'*"t'$)&`" / 3/tuub‰‰*0/+0/.ak -$1 - k =5  *)./ ' (Rtj‰‰‰v7wjub ' (`'$&tub
  10. 7 /88  „[gg(4g*(+*) )/`%.3gg… $(+*-/ /!-*(j- /j $(+*-/ /!-*(j-

    /g*(j *)./4*(+*) )/t+-*+.u…x *)./x)( y+-*+.b *)./v.// w /`0. // t)( j/# - j ]j_#*2- 4*0]jajju - /0-)t„$1… ''*x)( ŽŽj*-'jyx.// y„‰$1…u y  /`- ) -t „$1… „4*(+*) )/‰… „4*(+*) )/)( k--4k‰… „4*(+*) )/)( k -$1 - k‰… „4*(+*) )/)( k/# - k‰… „‰$1…_ *0( )/`" /' ( )/4 tj—-**/ju_ u R„àÀ„²0m0!À0m0w0yÀ² DzXyJà0 (ªXß0ª§ª„À„!„m ‰‰/ ./`%. *)./(4*(+*) )/-*2. -`- /Rtj4*(+*) )/ju 3+ /t(4*(+*) )/`$.$.+'4 tuu`/* t/-0 u‰‰+.. *)./(4*(+*) )/-*2. -`- /Rtj4*(+*) )/j_x)( aj -$1 - jyu 3+ /t(4*(+*) )/`" / 3/tuu`/* tj ''* -$1 - ju‰‰+.. *)./(4*(+*) )/-*2. -`- /Rtj4*(+*) )/j_xy_j_#*2- 4*0]ju 3+ /t(4*(+*) )/`" / 3/tuu`/* tj ''*/# - _#*2- 4*0]ju‰‰+..
  11. R„àÀ„²0m0!À0m0w0yÀ² DzXyJƛƛŊƼū & $.) *)./ ' (Rtj(4f$ )/$!$ -jub '

    (`'$&tub :.&  D48E *)./. ' /*-j -" /`'*'-" /tu`!-*)/*./++tu`($)$)*2tu`0//*).tuv6wjb *)./0//*)RtŚ$*.Rx. ' /*-yŚub 0//*)`'$&tub ( 3  ‰‰$ 3(+' Rtj  3/$ 'ju`'$&tub ‰‰)-*$ 3(+' Rtj)-*$`2$" /`/ $& -ju`'$&tub :.&  D&E *)./. ' /*-j) 2$ ' /*-tu`/ 3/tk) 'ku`'..( tk)-*$`2$" /`0//*)kujb *)./0//*)RtŚ)-*$Rx. ' /*-yŚub 0//*)`'$&tub
  12. , " $"  $ D $E   

    -*2. -`*(()tj ' / . -j_t0. -)( u…x - /0-)3$*.`+*./t j‰- ./‰17‰f/ ./f# '+ -.‰ ' / f0. -j_ x0. -a0. -)( y ub yub -*2. -` ' / . -tj)*)4(*0.789ju -*2. -`0-'tj‰.#*-ju ‰‰``` !DzÀ„w!„wwy(²
  13. ÀR0§J0„ h0!Àw„(0m 䕬 ) "     

     䕬 0   $   䕬 . $  $  542      䕬 *!$    " 542 䕬 &542  䕭 1  䕭 2    " $"ğ" Ę  
  14. y0àwh„ªß0ª²X„yª0m0²0ß̍ 䕬 ) 3!JR  " 䕬 7" 9$8 䕬

    (   !P:  䕬 .!,1 .  䕬 3" 5<&  $    䕬 & (9$8'  ĘĘ 䕬 85(  䕬 9(! 7 䕬 3")    7       ŠŠ" !Š ŠKIKJŠIKŠIRŠ" !!P 
  15. IÇÀǪ0ª„(w§ 䕬 +< & < !.4 䕬 ') ( 

     䕬 3"8  䕬 .!++ "8 
  16. ÀRyj²͉ &$ T >  Ę v  u 

    v   8ŠŠ $Š  "" !