Practical Web Test Automation with Selenium WebDriver
Practical Web Test Automation with Selenium WebDriver
Test web applications wisely with Selenium WebDriver
About the Book
While few people deny the benefits of test automation, comprehensive automated testing via UI (browser for web applications) is rarely implemented in software projects. Common reasons for projects' failed attempts on test automation are:
- Difficult to learn - test scripts are complex and testing tools are not easy to use
- Hard to maintain - UI tests are vulnerable to application changes
- Long feedback loop - automated tests take too long to run
To succeed in automated testing via UI, software projects need to overcome all these 3 challenges.
This book presents a practical approach to implementing test automation for web applications. Topics include:
- Developing easy to read and maintain Selenium WebDriver tests using a next-generation functional testing tool
- Page object model
- Functional Testing Refactorings
- Cross-browser testing
- Setting up a continuous testing server to manage the execution of a large number of automated UI tests
- Requirement traceability matrix
- Strategies on team collaboration and test automation adoption in projects and organizations
To help readers learn more effectively, the book has a dedicated site containing the following resources:
- Software. Test automation is not necessarily expensive. All test frameworks featured in this book are free and open-source.
- Sample test scripts. Ready-to-run test scripts for the exercises in the book.
- Demo web sites. Two demo sites were created for readers to try out test scripts.
- Tutorial screencasts. You will be able to see how exercises are done step by step.
Bundles that include this book
Table of Contents
-
Preface
- Who should read this book?
- How to read this book?
- What’s inside the book?
- Test scripts, Screencasts and other resources
- Send me feedback
- Acknowledgements
-
1 What is Web Test Automation?
- 1.1 Test automation benefits
- 1.2 Reality check
- 1.3 Reasons for test automation failures
- 1.4 Successful web test automation
- 1.5 Learning approach
- 1.6 Next action
-
2 First Automated Test
- 2.1 Test Design
- 2.2 Installing TestWise (about 2 minutes)
- 2.3 Create Automated Test
- 2.4 Selenium Syntax in minutes
- 2.5 Create a test case
- 2.6 Run the full test in a Chrome browser
- 2.7 Running on macOS
- 2.8 When a test failed…
- 2.9 Wrap up
-
3 How Automated Testing works
- 3.1 Web test drivers
- 3.2 Automated testing rhythm
- 3.3 Test frameworks
- 3.4 Run tests from the command line
-
4 TestWise - Functional Testing IDE
- 4.1 Philosophy of TestWise
- 4.2 TestWise project structure
- 4.3 Test execution
- 4.4 Keyboard navigation
- 4.5 Snippets
- 4.6 Script library
- 4.7 Test refactoring
- 4.8 Wrap up
-
5 Case Study
- 5.1 Test site
- 5.2 Preparation
- 5.3 Create a test project
- 5.4 Test Suite: Sign in
- 5.5 Test Suite: Select Flights
- 5.6 Enter passenger details
- 5.7 Book confirmation after payment
- 5.8 Run all tests
- 5.9 Wrap up
-
6 Maintainable Functional Test Design
- 6.1 Record/Playback leads to unmaintainable test scripts
- 6.2 Success criteria
- 6.3 Maintainable automated test design
- 6.4 Maintain with ease
- 6.5 Case Study: refine test scripts
- 6.6 Wrap Up
-
7 Test Automation Characteristics
- 7.1 Specific
- 7.2 Clean
- 7.3 Independent
- 7.4 Frequent
- 7.5 Focused
- 7.6 Programmable
- 7.7 Creative
- 7.8 Sustainable
- 7.9 Wrap up
-
8 Functional Test Refactoring
- 8.1 Code refactoring
- 8.2 Functional test refactoring
- 8.3 Tool support
- 8.4 Case study
- 8.5 Summary
-
9 Review
- 9.1 Syntax errors
- 9.2 Set up source control
- 9.3 GUI Object Map
- 9.4 Custom libraries
- 9.5 Debugging
- 9.6 Cross-browser functional testing
- 9.7 Data-Driven Test
- 9.8 What is the best learning method?
-
10 Collaboration
- 10.1 Pre-requisite
- 10.2 Scenario 1: “It worked on my machine”
- 10.3 Scenario 2: Synergy
- 10.4 Scenario 3: Acceptance Test-Driven Development
- 10.5 Wrap up
-
11 Continuous Integration with Functional Tests
- 11.1 Long feedback loop
- 11.2 Continuous Integration
- 11.3 Continuous Integration and Testing
- 11.4 CI build steps
- 11.5 Functional UI testing build step with Rake
- 11.6 Set up a Continuous Testing server: BuildWise
- 11.7 Create a Build Project
- 11.8 Trigger test execution manually
- 11.9 Feedback while test execution in progress
- 11.10 Build finished
- 11.11 Exercise: Set up CT for your own project
- 11.12 Review
-
12 Test Reporting
- 12.1 Reporting automated test results
- 12.2 Defect tracking
- 12.3 Requirement traceability
-
13 WebDriver Backed variants
- 13.1 Watir
- 13.2 RWebSpec
- 13.3 Capybara
- 13.4 Test design with Watir, RWebSpec and Capybara
- 13.5 Review
-
14 Cucumber
- 14.1 Cucumber framework
- 14.2 Comparison: RSpec and Cucumber
- 14.3 RSpec and Cucumber co-exist
-
15 Adopting Test Automation
- 15.1 Seek executive sponsorship
- 15.2 Choose test framework
- 15.3 Select test tool
- 15.4 Find a mentor
- 15.5 Manage expectation
- 15.6 Solo test automation
- 15.7 Common mistakes
- 15.8 Wrap up
-
Appendix 1 Functional Test Refactoring Catalog
- Move Test Scripts
- Extract Function
- Extract to Page Class
- Introduce Page Object
- Rename
-
Appendix 2 Case Study: Test Automation in ClinicWise project
- Build Stats
- Stage 1: Write automated tests on the first day
- Stage 2: Set up CI server within the first week
- Stage 3: Release to production early
- Stage 4: Release often (daily)
- Stage 5: Set up parallel test execution in CI
- Questions and Answers
-
Resources
- Books
- Web Sites
- Tools
- References
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them