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.

How To Add Any Feature To Your Selenium Grid


Published on

Allen Lee, Lead Automation Engineer at ZocDoc, shares how to add any feature to your Selenium Grid.

Published in: Technology
  • Be the first to comment

How To Add Any Feature To Your Selenium Grid

  1. 1. ZocGrid:  How  to  add  any  feature   to  your  grid.   Allen  Lee   Lead  Automa9on  Engineer  at  Zocdoc  
  2. 2. WHY  GRID?     Scalability.   Speed.    
  3. 3.  Con9nuous  Integra9on     TESTS  IN  MINUTES  o Test  every  commit    o Test  on  mul9ple                                         environments    o Run  all  tests    o Push  every  day          
  4. 4. Selenium  1  Grid  PROBLEM   •  Unstable  Tests   •  Ineffec9ve  CI      o  We  are  a  C#  shop  and  Selenium  Grid  is  Java    o  We  could  not  find  any  exis9ng  C#  grid    o  We  didn’t  know  when  Grid  2  would  be  available  o  We  didn’t  have  9me  to  wait  for  Grid  1  releases        
  5. 5. ZocGrid:    “Client  Knows  All”  Architecture  •  Local  Resources  •  Local  Execu9on  •  Lighter  ZocGrid  Server  Load  •  Has  access  to  na;ve  opera;ng   system  !!!      
  6. 6. CI  starts  a   Central  Grid  Server    Grid  Client  grabs    latest  DLL  from  server   Sends  Test  Names   VM   VM   ZocGrid  Client   ZocGrid  Client   (Running  .net  exe)   (Running  .net  exe)   QA  Test  Environments  Web  Server  
  7. 7. Parallel  Execu9on  o Time  it  takes  to  run  each   test    o What  tests  were  running   at  the  same  9me    o What  browser  were  the   tests  running  on  
  8. 8. Transcript  of  test/Steps  to  reproduce  
  9. 9. Video  Recording  
  10. 10. Image  Comparison  
  11. 11. Addi9onal  •  Run  any  subset  of  scripts  •  Run  scripts  against  any  specified  URL  •  Run  scripts  in  a  specific  or  randomized  order  •  Run  in  a  specific  browser  •  Run  SQL  queries  •  Automa9cally  rerun  tests  under  user-­‐specified   condi9ons  •  Detect  network  disconnects,  automa9cally  update   codebase,  restart  browsers      
  12. 12. What’s  Next?  •  We  have  a  large  pool  of  VMs  …  •  We  can  target  any  url  …  •  We  can  specify  what  browser  to  test  …  •  We  can  control  what  tests  to  run  …  •  We  can  run  tests  on  mul9ple  environments   concurrently    …    
  13. 13. Why  not  give  developers  grid  server  to  run  the  suite  of  tests  against  their  local  changes  or  code  branches  using  the  VM  pool?  
  14. 14. We  Are  Hiring!   hcp://   THE  END