Adobe Experience Manager (AEM) is one of the most popular CMS in use today, enabling organizations to build web applications, responsive websites, mobile applications and forms. It includes templates with predefined layouts, as well as the ability to embed standard and custom-built components that display content from its digital asset manager (DAM).
Recognizing the need for web and app developers to automate testing of AEM user interfaces (UIs), Infostretch has created a library of AEM components to improve the speed, quality and delivery of apps and websites built with AEM. Specifically, Infostretch has mapped to and created test components in its testing library for Coral UI, a set of files that provide a range of HTML components, including buttons, navigation and tool bars, tables, grids and dialogs. Infostretch’s AEM library contains all Coral components, along with a locating strategy, enabling users to automatically input data without writing CSS.
While Coral UI is a necessary component for the front-end element of applications, testing of Coral UI isn’t always a seamless process. In a traditional scenario, a developer that is building a website or app using AEM will download a component for integration into the page. However, before that component is integrated, it needs to be tested.
The challenge is that in many cases, the version of the development platform used by enterprises for AEM can be outdated. For example, a large number of enterprises continue to develop using AEM 6.3, despite the fact that it is currently upgradeable to version 6.4, with version 6.5 expected early next year. Additionally, many enterprises continue to utilize behavior-driven development (BDD) test authoring and execute AEM test cases in a local grid or to a source cloud.
Furthermore, some enterprises are using Bobcat, an AEM-centric automated testing framework and Junit 4.12, a unit testing framework for the Java programming language, as well as Cucumber 3, a software tool that runs automated acceptance tests written in BDD. But problems exist with these testing frameworks, as well.
For instance, the Cucumber framework intermittently throws errors during execution, making it difficult to analyze and find root causes of failure. Likewise, Bobcat has a number of issues in terms of compatibility with both Cucumber and AEM. The end result is that compatibility between Bobcat, Cucumber and AEM is challenging, requiring a number of workarounds to test components.
For example, Bobcat’s bb-touch-ui module needed to be customized for AEM version 6.2 and 6.3, but it is in an ‘end of life’ state as it won’t be supported by AEM 6.4 and beyond. For all companies that want to take advantage of AEM’s 6.4 version and beyond and use Bobcat, they will have to migrate to Bobcat 2.x; however, Bobcat 2.x doesn’t support AEM 6.3. Making matters more complex is that upgrading from Bobcat 1.x to 2.x is not a seamless activity – it requires manual maintenance and support for existing test beds.
But is all of this even really necessary? While quality is king and IT departments are constantly looking at ways to speed up existing processes, sometimes we forget to look at who is innovating. This is exactly the case here. AEM actually has their own aem-testing-clients that allows for API testing of AEM functions such as: create page, publish page, delete page, isPagePresent, and copying an existing page. By utilizing this service, there is no need to use 3rd party tools like Bobcat that require a UI to execute the testing command.
To circumvent these issues for those currently using Bobcat with AEM or want start off fresh using AEM, Infostretch can use the QMetry Automation Framework (QAF), an open source testing automation framework available on Github. QAF unifies test automation across web, mobile and web services, enabling testing of multiple devices in the cloud. Additionally, QAF simplifies the creation, maintenance and management of test case libraries and seamlessly integrates with major platforms, device clouds, test management platforms, and CI/CD platforms.
Developers that utilize QAF with AEM can use any version of Bobcat or Cucumber, with stable execution results and no scoping issues. The addition of the new library of Coral UI test components provides additional support for developers, simplifying both the testing scenario and the AEM implementation.
If you’d like more information about Infostretch’s digital assurance testing solutions, complete the form below.