14
ZocGrid: How to add any feature to your grid. Allen Lee Lead Automa9on Engineer at Zocdoc

How To Add Any Feature To Your Selenium Grid

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: How To Add Any Feature To Your Selenium Grid

ZocGrid:  How  to  add  any  feature  to  your  grid.  

Allen  Lee  Lead  Automa9on  Engineer  at  Zocdoc  

Page 2: How To Add Any Feature To Your Selenium Grid

WHY  GRID?    

Scalability.  Speed.  

 

Page 3: How To Add Any Feature To Your Selenium Grid

o Test  every  commit    o Test  on  mul9ple                                        environments  

 o Run  all  tests    o Push  every  day          

TESTS  IN  MINUTES  

 Con9nuous  Integra9on    

Page 4: How To Add Any Feature To Your Selenium Grid

PROBLEM  Selenium  1  Grid  

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        

• Unstable  Tests  •  Ineffec9ve  CI        

Page 5: How To Add Any Feature To Your Selenium Grid

•  Local  Resources  •  Local  Execu9on  •  Lighter  ZocGrid  Server  Load  •  Has  access  to  na;ve  opera;ng  system  !!!  

   

ZocGrid:    “Client  Knows  All”  Architecture  

Page 6: How To Add Any Feature To Your Selenium Grid

CI  starts  a  Central  Grid  Server    

VM  ZocGrid  Client  (Running  .net  exe)  

VM  ZocGrid  Client  (Running  .net  exe)  

QA  Test  Environments  Web  Server  

Grid  Client  grabs    latest  DLL  from  server   Sends  Test  Names  

Page 7: How To Add Any Feature To Your Selenium Grid

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  

Page 8: How To Add Any Feature To Your Selenium Grid

Transcript  of  test/Steps  to  reproduce  

Page 9: How To Add Any Feature To Your Selenium Grid

Video  Recording  

Page 10: How To Add Any Feature To Your Selenium Grid

Image  Comparison  

Page 11: How To Add Any Feature To Your Selenium Grid

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  

   

Page 12: How To Add Any Feature To Your Selenium Grid

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    …  

 

Page 13: How To Add Any Feature To Your Selenium Grid

Why  not  give  developers  grid  server  to  run  the  suite  of  tests  against  their  local  changes  or  code  branches  using  the  VM  pool?  

Page 14: How To Add Any Feature To Your Selenium Grid

THE  END  

We  Are  Hiring!  hcp://www.zocdoc.com/careers