Post on 02-Jun-2015
transcript
SELENIUM: WHAT IS IT GOODFOR?
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 it's 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?
BUT FIRST!
<SHAMELESS SELF PROMOTION>
Allan Chappell
Webdeveloper / Testing Expert
Drupal User:
@general_redneck
</SHAMELESS SELF PROMOTION>
368854
GeneralRedneck.com
WHAT IS SELENIUM?
“Selenium automates browsers. That's it.”
SELENIUM
SELENIUM IDE
Record Your Actions.
Modify Your Targets.
Fill In the Gaps With Tests.
Store and Run Your Tests.
SELENIUM IDERECORD YOUR ACTIONS.
Live Demo Time!
STORE TESTSWARNING: 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 TESTSFor both do:
Separate tests into logical test cases.
Share and reap the rewards!
RUN TESTSMake a backup of the database.
(Check out )
Run the Tests!
Restore if needed.
backup and migrate
<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 TESTSThere are 2 ways!
PHP Export Addon
Throwing your selenese test cases into a directory and telling
PHPUnit to run em.
<IMPERSONATE CLASS='AUDIENCE'>
GREAT... BUT HOW TO DO I USE IT?</IMPERSONATE>
Live Demo Time!
<BLINK>
CONGRATULATIONS!!!YOU'VE LEVELED UP TWICE IN AN HOUR!
</BLINK>You should feel proud of yourself... No, Really!
THERE'S MORE?!? I THOUGHT I MADE THE TESTSAUTOMATED?
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 work's 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 checking
Processing 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 with
great documentation.
Build a job: Usually tell it when to run. For instance, on git commit to
github, or every night at midnight.
Tell it what to do: Anything commandline will run. PHPUnit is
commandline. Hudson, Travis, have Selenium built in!
<BLINK>
CONGRATULATIONS!!!YOU'VE MADE IT TO THE END!
</BLINK>
But wait there's one more thing...
WHAT THIS MEANS IS THAT YOU NOW HAVE ACHOICE 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.
QUESTIONS?