Bobcat meets AEM

08 September 2016
Malgorzata Fadziel
Frink_Cognifide_2016_HeaderImages_0117

Why Bobcat's AEM related features set it apart 

If you’re a regular reader of the Cognifide Blog, you’ll have seen that we just released Bobcat, our innovative test automation framework to the Open Source community. Our Bobcat Awesomeness Manifesto outlined all the reasons that you might want to check it out if you are a business representative, an analyst or a developer. Using Bobcat for testing any web application brings huge advantages and there are no limits as to how you can use it in your projects.

Here we give you an overview of Bobcat’s special features and explain why it's the perfect companion for Adobe Experience Manager (AEM).

Bobcat is an advanced tool for comprehensive and holistic testing of web applications based on AEM, the  industry-leading platform for website creation. However, content authoring in AEM is implemented asynchronously and due to that is extremely challenging to automate. 

This is where Bobcat comes into play! It speeds up writing end-to-end tests to validate steps ranging from login to AEM platform, building pages, setting up content and configuring components, to performing administrative tasks.

Let’s dive a little deeper...

AEM authoring

bobcat sample test

Bobcat tests carousel component in Touch UI mode

While building Bobcat, the main challenge for us was not to simply cover AEM functionality but to ensure stability across this coverage. Numerous projects using Bobcat and years of fine tuning have enabled us to reach a level of stability that we previously felt was impossible. Pretty much every large project that Cognifide has delivered over the past 5 years has been invaluable in the creation of Bobcat. What’s more, this is a continuous process.

To keep up with AEM’s content authoring approach, we decided to make it component-oriented. So, in Bobcat we have used and mastered Selenium PageObject pattern. This means that page structure is mirrored in the code, which makes it more intuitive to understand and more flexible.

AEM publish

With Bobcat you can run any kind of tests offered by standard Selenium wrapper frameworks. When it comes to testing AEM-based published sites, Bobcat offers you far more than this. The main benefit of being component-oriented is that you can successfully reuse code aimed for author on the published instance. Additionally when the test case requires the setting up of preconditions, Bobcat provides a connector to AEM’s JCR in order to support any database operation, like content creation.

sample page object
Nested Page Object example

What’s next?

This is just a snapshot of Bobcat’s AEM-related features. If you’d like to find out more drop us a line on bobcat@cognifide.com.  

Or gain some hands-on experience by checking our project at https://github.com/cognifide/bobcat! Try it - you’ll love it. The next series of our blog posts will focus on cloud support, traffic, mobile and more technical stuff. So stay tuned!