Bobcat is an automated testing framework for functional testing of web applications.
Switch branches/tags
Clone or download
mkrzyzanowski Update README.md
Moved the Getting started section up; updated the roadmap
Latest commit 9ae4807 Nov 13, 2018
Permalink
Failed to load latest commit information.
.github Update ISSUE_TEMPLATE.md Apr 23, 2018
assets 180x180 version of logo added May 10, 2018
bb-aem-classic Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-aem-common Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-aem-touch-ui Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-annotations Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-core Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-cumber Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-email Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-integration-tests Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-junit Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-junit5 Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-reports Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
bb-traffic Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
contributing Initial code commit Jul 7, 2016
docs #288 Documentation and changes in default values Oct 2, 2018
.gitignore License Header fix + gitignore extension Aug 10, 2016
.travis.yml Merge pull request #260 from Cognifide/250-Sonarcloud-scanner Aug 1, 2018
CODE_OF_CONDUCT.md GitHub templates and code of conduct added Apr 4, 2018
CONTRIBUTING.md Updated CONTRIBUTING.md Jun 29, 2018
LICENSE Update LICENSE Oct 11, 2016
README.md Update README.md Nov 13, 2018
RELEASING.md Update RELEASING.md Aug 6, 2018
pom.xml Revert "Merge pull request #297 from Cognifide/277-aem-author" Nov 2, 2018
sonar-project.properties sonar scanner scope narrowing Jun 29, 2018

README.md

Cognifide logo

Build 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:

  • Site Admin,
  • dialogs,
  • parsyses,
  • components,
  • component fields,
  • CRX.

Bobcat was used for automating AEM 6.3, though the latest versions of AEM-related modules were not developed for full compatibility of TouchUI interface - let us know if you run into any issue or want to submit a pull request.


๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ

Bobcat 2.0 is coming!

A high level roadmap (milestones still can change), without any concrete deadlines of what we plan for 2.0 release:

Milestone #1 (1.4.0) โœ”๏ธ

  1. Archetype cleanup and move to a Gradle-based template โœ”๏ธ
  2. Selenium version bump โœ”๏ธ
  3. Simplify Bobcat configuration โœ”๏ธ

Milestone #2 (part of it may end up in 1.x.x) โœ”๏ธ

  • Switch to Gradle from end-user side โœ”๏ธ
  • Reporting revamp โœ”๏ธ
  • JUnit 5 support โœ”๏ธ
  • General refactoring, part 1 โœ”๏ธ
    • some parts of API might disappear in the future
    • some modules may end up without further support
    • hence the above, we will identify and deprecate the API to be removed in 2.0 release
  • last 1.x.x release โœ”๏ธ (though, there might be additional bugfix releases in the meantime)

Milestone #3 - in progress!

  • Provide a simpler API for Bobcat users
  • Brand new API for AEM support
  • General refactoring, part 2 โœ”๏ธ
    • remove the deprecated APIs
  • after the above is done, 2.0 release

Other ideas / nice-to-haves

  • move development from Maven to Gradle

๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ ๐Ÿ˜ผ

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.

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")

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.