wttech / bobcat

Bobcat is an automated testing framework for functional testing of web applications.
https://cognifide.github.io/bobcat/
Apache License 2.0
90 stars 40 forks source link
appium automation bdd cucumber gherkin junit qa quality-assurance regression-tests selenium webdriver

This repository is no longer actively maintained, please read this article for more details.


Wunderman Thompson Logo

Build Status Quality Gate Status Maven Central Apache License, Version 2.0, January 2004 Gitter chat Javadocs

Bobcat Logo

Bobcat is an automated testing framework for functional testing of web applications. It wraps Selenium, so anything possible in raw Selenium can be done with Bobcat, including running it on all supported browsers, Selenium Grid, cloud providers like SauceLabs, Cross Browser Testing, BrwoserStack etc. You can also utilize Appium for mobile testing. Bobcat comes with a handy set of utilities and accelerators that will help you develop your tests faster.

Bobcat is implemented in Java and allows the test development in pure JUnit or via Cucumber-JVM for BDD-oriented people.

Getting started

To start your adventure with Bobcat, please refer to our documentation: Getting started

AEM Support

Since Cognifide expertises in development on top of Adobe Experience Manager (AEM), Bobcat accelerates test development for this platform, especially when it comes to AEM authoring. The framework provides dedicated modules which allow you to automate almost every action on the AEM author side. This includes:

For information about compatibility with specific AEM versions, please refer to documentation

What's so special about Bobcat?

We created this framework at Cognifide after years of experience with multiple simpler solutions. After reaching a certain point of maturity, we have decided it was time for a tool developed properly, by bringing the knowledge of both our QA engineers and developers. We wanted our framework to be maintainable, stable and scalable.

Bobcat relies heavily on the Page Object pattern, which is an embedded concept in most of its internals. We can model our websites easily and create a neat Page Object tree structure, scoping Page Objects inside other Page Objects, reducing the effort of selector maintenance. You can read more about it here. We make all the magic possible thanks to dependency injection with Google's Guice. Additionally, we wanted to make it as scalable as possible, so thread-safety was one of the key principles during the development.

Documentation

See our Quick-start guide and Bobcat Wiki for examples and documentation of all features.

You might also want to check latest Bobcat API docs.

Contributing

You can help make Bobcat more awesome by raising any encountered issues or feature requests here on Github. For any questions, please contact us on Gitter or via email. See our contribution guidelines for more details.

License

Bobcat is licensed under Apache License, Version 2.0 (the "License")