Leanpub Header

Skip to main content

Practical Web Test Automation with Selenium WebDriver

Test web applications wisely with Selenium WebDriver

Facebook releases twice a day; LinkedIn pushes out updates several times a day. What do they do in common to achieve that? Comprehensive automated UI testing.

The author is letting you choose the price you pay for this book!

Pick Your Price...
PDF
EPUB
WEB
234
Pages
45,250Words
About

About

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.

Share this book

Price

Pick Your Price...

Minimum price

$20.00

$30.00

You pay

$30.00

Author earns

$24.00
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 2)

2
The author will earn $24.00 from your purchase!
You can get credits monthly with a Reader Membership

Author

About the Author

Zhimin Zhan

Zhimin Zhan is the founder and principal agile testing coach of AgileWay Pty Ltd, Australia. As an advisor and coach, he helps organisations implement test automation using Continuous Testing with open technologies, such as Selenium WebDriver / Appium. Zhimin is the creator of TestWise, the next-generation functional testing tool that supports functional test refactorings, and BuildWise, an international award-winning Continuous Testing Server. Zhimin is a frequent speaker and author of 14 books on software testing and programming. He shares his test automation and CI experience on Substack and Medium.

Contents

Table of Contents

Preface

  1. Who should read this book?
  2. How to read this book?
  3. What’s inside the book?
  4. Test scripts, Screencasts and other resources
  5. Send me feedback
  6. Acknowledgements

1What is Web Test Automation?

  1. 1.1Test automation benefits
  2. 1.2Reality check
  3. 1.3Reasons for test automation failures
  4. 1.4Successful web test automation
  5. 1.5Learning approach
  6. 1.6Next action

2First Automated Test

  1. 2.1Test Design
  2. 2.2Installing TestWise (about 2 minutes)
  3. 2.3Create Automated Test
  4. 2.4Selenium Syntax in minutes
  5. 2.5Create a test case
  6. 2.6Run the full test in a Chrome browser
  7. 2.7Running on macOS
  8. 2.8When a test failed…
  9. 2.9Wrap up

3How Automated Testing works

  1. 3.1Web test drivers
  2. 3.2Automated testing rhythm
  3. 3.3Test frameworks
  4. 3.4Run tests from the command line

4TestWise - Functional Testing IDE

  1. 4.1Philosophy of TestWise
  2. 4.2TestWise project structure
  3. 4.3Test execution
  4. 4.4Keyboard navigation
  5. 4.5Snippets
  6. 4.6Script library
  7. 4.7Test refactoring
  8. 4.8Wrap up

5Case Study

  1. 5.1Test site
  2. 5.2Preparation
  3. 5.3Create a test project
  4. 5.4Test Suite: Sign in
  5. 5.5Test Suite: Select Flights
  6. 5.6Enter passenger details
  7. 5.7Book confirmation after payment
  8. 5.8Run all tests
  9. 5.9Wrap up

6Maintainable Functional Test Design

  1. 6.1Record/Playback leads to unmaintainable test scripts
  2. 6.2Success criteria
  3. 6.3Maintainable automated test design
  4. 6.4Maintain with ease
  5. 6.5Case Study: refine test scripts
  6. 6.6Wrap Up

7Test Automation Characteristics

  1. 7.1Specific
  2. 7.2Clean
  3. 7.3Independent
  4. 7.4Frequent
  5. 7.5Focused
  6. 7.6Programmable
  7. 7.7Creative
  8. 7.8Sustainable
  9. 7.9Wrap up

8Functional Test Refactoring

  1. 8.1Code refactoring
  2. 8.2Functional test refactoring
  3. 8.3Tool support
  4. 8.4Case study
  5. 8.5Summary

9Review

  1. 9.1Syntax errors
  2. 9.2Set up source control
  3. 9.3GUI Object Map
  4. 9.4Custom libraries
  5. 9.5Debugging
  6. 9.6Cross-browser functional testing
  7. 9.7Data-Driven Test
  8. 9.8What is the best learning method?

10Collaboration

  1. 10.1Pre-requisite
  2. 10.2Scenario 1: “It worked on my machine”
  3. 10.3Scenario 2: Synergy
  4. 10.4Scenario 3: Acceptance Test-Driven Development
  5. 10.5Wrap up

11Continuous Integration with Functional Tests

  1. 11.1Long feedback loop
  2. 11.2Continuous Integration
  3. 11.3Continuous Integration and Testing
  4. 11.4CI build steps
  5. 11.5Functional UI testing build step with Rake
  6. 11.6Set up a Continuous Testing server: BuildWise
  7. 11.7Create a Build Project
  8. 11.8Trigger test execution manually
  9. 11.9Feedback while test execution in progress
  10. 11.10Build finished
  11. 11.11Exercise: Set up CT for your own project
  12. 11.12Review

12Test Reporting

  1. 12.1Reporting automated test results
  2. 12.2Defect tracking
  3. 12.3Requirement traceability

13WebDriver Backed variants

  1. 13.1Watir
  2. 13.2RWebSpec
  3. 13.3Capybara
  4. 13.4Test design with Watir, RWebSpec and Capybara
  5. 13.5Review

14Cucumber

  1. 14.1Cucumber framework
  2. 14.2Comparison: RSpec and Cucumber
  3. 14.3RSpec and Cucumber co-exist

15Adopting Test Automation

  1. 15.1Seek executive sponsorship
  2. 15.2Choose test framework
  3. 15.3Select test tool
  4. 15.4Find a mentor
  5. 15.5Manage expectation
  6. 15.6Solo test automation
  7. 15.7Common mistakes
  8. 15.8Wrap up

Appendix 1 Functional Test Refactoring Catalog

  1. Move Test Scripts
  2. Extract Function
  3. Extract to Page Class
  4. Introduce Page Object
  5. Rename

Appendix 2 Case Study: Test Automation in ClinicWise project

  1. Build Stats
  2. Stage 1: Write automated tests on the first day
  3. Stage 2: Set up CI server within the first week
  4. Stage 3: Release to production early
  5. Stage 4: Release often (daily)
  6. Stage 5: Set up parallel test execution in CI
  7. Questions and Answers

Resources

  1. Books
  2. Web Sites
  3. Tools

References

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

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 earned over $14 million writing, 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

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub