Building for Legacy Browsers - jQuery UK 2013

Building for Legacy Browsers - jQuery UK 2013

D282fed502608587e7a8d780188f21b8?s=128

Joe Pettersson

April 19, 2013
Tweet

Transcript

  1. Complex clientside apps and legacy browsers (a story of frustration)

    ! @Joe8Bit  –  Friday  19th  of  Apr  2013  
  2. None
  3. •  Frameworks and tools"

  4. •  Frameworks and tools" •  Refining User Experience"

  5. •  Frameworks and tools" •  Refining User Experience" •  The

    JScript JavaScript engine (and why I want to stab it with a fork)"
  6. •  Frameworks and tools" •  Refining User Experience" •  The

    JScript JavaScript engine (and why I want to stab it with a fork)" •  Testing, testing and more testing"
  7. •  Frameworks and tools" •  Refining User Experience" •  The

    JScript JavaScript engine (and why I want to stab it with a fork)" •  Testing, testing and more testing" •  The role of jQuery and other libraries"
  8. None
  9. •  Frameworks and tools" •  Refining User Experience" •  The

    JScript JavaScript engine (and why I want to stab it with a fork)" •  Testing, testing and more testing" •  The role of jQuery and other libraries"
  10. •  Frameworks and tools" •  Refining User Experience" •  The

    JScript JavaScript engine (and why I want to stab it with a fork)" •  Testing, testing and more testing" •  The role of jQuery and other libraries"
  11. None
  12. None
  13. None
  14. None
  15. Part one: Testing" Joe  Pe:ersson  –  Friday  19th  of  Apr

     2013  
  16. Part one: Testing" •  Local testing and development environments" • 

    Distributed unit and integration testing"
  17. Part one: Testing – Ruby, *nix et al" •  Ruby/Rails"

    •  *nix dev environment"
  18. Two approaches…" Buy or Build!

  19. Part one: Testing" Local testing and development environments!

  20. None
  21. IE  VM’s  from  @xdissent   h:ps://github.com/xdissent/ievms  

  22. PROTIP   Put  downloaded  raw  disk  images  in  ~/.ievms/  

      on  any  device  to  prevent  having  to  download   them  again  on  that  machine  
  23. None
  24. None
  25. None
  26. Part one: Testing - Local testing and development environments
 "

    Pseudo-­‐distributed  browser  tesIng  with  Selenium  and   Virtual  Machines  !
  27. “Selenium is a suite of tools to automate web browsers

    across many platforms.”" http://www.seleniumhq.org/!
  28. None
  29. Starting stand alone Selenium in ‘hub’ mode:" $  java  -­‐jar

     selenium-­‐server-­‐standalone.jar  -­‐role  hub     Starting stand alone Selenium in ‘hub’ mode:" $  java  -­‐jar  selenium-­‐server-­‐standalone.jar  -­‐role   webdriver  –hub  http://0.0.1.1    
  30. Part one: Testing - Local testing and development environments
 "

    Pseudo-­‐distributed  browser  tesIng  with  Selenium  and   Virtual  Machines  ! Running  Tests!
  31. Not  an  official  project  logo.  But  it  should  be.  

    h:ps://github.com/jnicklas/capybara  
  32. Configuring Capybara!

  33. Integration tests take a while, especially when running them in

    multiple environments’ ! Unfortunate truth!
  34. Local  TesEng    

  35. None
  36. Selenium  Jenkins  plugin   h:ps://wiki.jenkins-­‐ci.org/display/JENKINS/Selenium+Plugin    

  37. ?"

  38. So,  what  if  that  is  too  much  effort?  What  if

     I   don’t  have  the  Eme  or  the  desire?  
  39. None
  40. None
  41. •  Easy, fast setup" •  Loads of easy integrations "

    •  Scalability and parallelisation" •  Great support"
  42. Integrating Saucelabs distributed testing in a Rails project ! 1. 

    Add jasmine-sauce to your Gemfile   2. bundle  install   3. bundle  exec  sauce  config   4. rails  generate  sauce:jasmine   5. rake  jasmine:ci:sauce  
  43. None
  44. Part one: Testing" Joe  Pe:ersson  –  Friday  19th  of  Apr

     2013  
  45. “1.3.1  should  support  IE6  (we  dropped  our  IE  test  suite

     awhile  ago   because  it  was  difficult  to  maintain,  and  we  lost  a  bit  of  insight  into   whether  or  not  IE6  would  run  without  errors).  I  think  we  dropped  IE6   support  in  the  upcoming  2.0  branch  as  IE6  has  been  EOLed.”     h:ps://github.com/pivotal/jasmine/issues/327    
  46. Part two: The role of jQuery and other libraries" Joe

     Pe:ersson  –  Friday  19th  of  Apr  2013  
  47. None
  48. None
  49. None
  50. None
  51. Thanks!!

  52. @Joe8bit!