SELENIUM: WHAT IS IT GOOD FOR? ABSOLUTELY SOMETHING! DALLAS DRUPAL DAYS SEPTEMBER 8, 2012
WHATCHA GONNA DO?Selenium Selenium IDE: A comprehensive walkthrough of the misunderstood IDE. Store and Run Tests: A guide to Automated Testing at its most basic level.PHPUnit The Important Features: What we need to get Selenium working with PHPUnit. Translation from Selenium IDE: The first steps to using PHPUnit for managing and running your tests.
Hudson / Jenkins / Travis Continuous Integration: What does it mean to be continuously integrated?
WHAT IS SELENIUM?“Selenium automates browsers. Thats it.”
SELENIUMSELENIUM IDE Record Your Actions. Modify Your Targets. Fill In the Gaps With Tests. Store and Run Your Tests.
SELENIUM IDE RECORD YOUR ACTIONS.Live Demo Time!
STORE TESTS WARNING: CONFLICTING INFORMATION! If you plan to move on to more advanced testing:Separate different features into different Test Suites. If you plan to stick with what you got now: Combine all features into the same Test Suite.
STORE TESTS For both do:Separate tests into logical test cases.Share and reap the rewards!
RUN TESTSMake a backup of the database.(Check out backup and migrate )Run the Tests!Restore if needed.
<BLINK> CONGRATULATIONS!!!YOU ARE READY TO MOVE TO THE NEXT LEVEL! </BLINK>
WHERE DOES PHPUNIT COME IN?PHPUnit allows you to make the process more automated!
PHPUNIT SELENIUM FEATURE OVERVIEWYou can run your old tests! (with massaging)You can now perform repetitive tasks!You can now chain running your tests to events!
TRANSLATION OF SELENIUM TESTS There are 2 ways!PHP Export AddonThrowing your selenese test cases into a directory and tellingPHPUnit to run em.
<IMPERSONATE CLASS=AUDIENCE>GREAT... BUT HOW TO DO I USE IT? </IMPERSONATE>
<BLINK>CONGRATULATIONS!!!YOUVE LEVELED UP TWICE IN AN HOUR! </BLINK> You should feel proud of yourself... No, Really!
THERES MORE?!? I THOUGHT I MADE THE TESTS AUTOMATED?But you can do more with continuous integration provided by a platform such as Travis, Hudson, Jenkins.
CONTINUOUS INTEGRATION OVERVIEWContinuous Integration (CI) there to help your works quality by: Taking repetitive manual tasks and automating them Doing these tasks more frequently And doing these task faster!
THINGS THAT NOW BECOME EASIER AND POSSIBLECode standard checkingProcessing Tasks on events such as commits!More information in an already formatted report!Running Tests
TO COMPLETE THIS LEVEL YOU MUST...Install a CI system: Hudson, Jenkins, and Travis are all free withgreat documentation.Build a job: Usually tell it when to run. For instance, on git commit togithub, or every night at midnight.Tell it what to do: Anything commandline will run. PHPUnit iscommandline. Hudson, Travis, have Selenium built in!
<BLINK>CONGRATULATIONS!!! YOUVE MADE IT TO THE END! </BLINK> But wait theres one more thing...
WHAT THIS MEANS IS THAT YOU NOW HAVE A CHOICE BASED ON THE FOLLOWING...How Automated do you want to go.What works for your team?How many resources do you have to dedicate to automation? IN THE END, IT IS ALMOST ALWAYS BEST FOR YOUR PRODUCT TO GET TO THE LAST LEVEL.