AEM – Adobe Experience manager, Interview questions and answers - Part 3

1. What is MSM in AEM?

MSM stands for Multi Site Manager, and it helps manage multiple related websites by maintaining a common structure and content, from the blueprint, while allowing country-specific or language-specific changes.

Example:

A multinational company may have websites for different countries. These websites can share common content and structure, but have country-specific information.

For example:

  • USA website displays prices in US Dollars.
  • UK website displays prices in British Pounds.
  • European website displays prices in Euros.

 

2. What is a Live Copy in AEM?

A Live Copy is a copy of a Blueprint or source website that maintains a relationship with the original content.

For example, a multinational company may have a master website as blueprint and create Live Copies for the USA, UK, and European websites.

The Live Copies share common content and structure from the Blueprint, but they can also contain country-specific or language-specific content.

If any changes are made to the Blueprint, those changes can be synchronized with the Live Copies using the Rollout process.

 

3. What is AEM Replication?

AEM Replication is the process of transferring content from one AEM instance/environment to another.

For example, an Author can replicate a page from the Author instance to the Publish instance. Replication can also be used to deactivate (unpublish) content from the Publish instance.

A QA validates and verifies the contents in the publish instance through replication when a page is published or unpublished.

 

4.  What is Cache Invalidation?

Cache invalidation is the process of clearing or updating cached content so that users receive the latest contents on the webpage.

Example:

Suppose a product discount changes from 10% to 20%. If the Dispatcher cache is not invalidated, users might still see the old 10% discount.

Cache invalidation ensures that the outdated cached content is removed so that users can see the updated 20% discount.

 

5. What is the difference between Dispatcher Cache and Browser Cache?

Dispatcher Cache:

Dispatcher Cache is on the server side, ie, it is shored on the server side. It reduces requests to the AEM Publish instance by serving content directly from the Dispatcher cache whenever a valid cached response is available.

If the requested content is not available in the cache, the request is forwarded to the Publish instance. This cache can be cleared through Dispatcher cache invalidation.

Browser Cache:

Browser Cache is on the user's side, stored in the user's local browser. It stores resources such as images, CSS, JavaScript files, and other website resources.

It reduces repeated requests to the server by reusing cached resources whenever they are still valid. This cache can be cleared through the browser settings or developer tools and is specific to the user's browser.

 

6. What is Impersonation in AEM?

It is the process of one user acting as another user with the second user's permissions and access rights.

It is used when the first user needs to access the system from the second user's perspective for troubleshooting, debugging, or investigation.

Example: An Admin can impersonate an Author to see which pages, components, and features the Author can access, in order to investigate or troubleshoot issues.

 

7. What is a Sitemap in AEM?

A sitemap is an XML file that contains the important URLs of a website. It helps search engines like Google discover and crawl the website's pages.

Example:

https://example.com/sitemap.xml

This XML file might contain the following URLs:

  • https://example.com/laptops
  • https://example.com/mobiles
  • https://example.com/monitors

When a search engine crawls the website, it can use the sitemap to discover these pages.

A QA might test:

- The site map is available or exists

- The sitemap contains the correct URLs.

- The URLs work as expected.

- The Unpublished or deleted pages are removed.

- No pages return 404 error.

- If any URL is changed and if the user enters the old URL, it should take to the new URL.

 

8. What is a Canonical URL?

A Canonical URL is the preferred URL of a webpage that tells search engines which URL to consider as the primary version when multiple URLs have similar or duplicate content.

Example:

The same Dell laptop page might be accessible through:

In this case, the website can specify https://example.com/laptops/dell as the Canonical URL.

This helps search engines avoid duplicate content issues and confusion.

Note: the Canonical URL is the recommended URL for the search engine. But the search engine might select the recommended URL or a different URL.

 

 

 

AEM – Adobe Experience manager, Interview questions and answers - Part 2

1.  How to get padding in AEM testing using Java Selenium?

First, locate the web element and use getCssValue() to retrieve its padding values.

WebElement element = driver.findElement(By.xpath("xpath"));

 

String paddingTop = element.getCssValue("padding-top");

String paddingRight = element.getCssValue("padding-right");

String paddingBottom = element.getCssValue("padding-bottom");

String paddingLeft = element.getCssValue("padding-left");

 

getCssValue() returns the computed CSS value, usually in pixels (e.g., 10px).

 

2.  How to get placeholder in AEM Testing using Java Selenium?

A placeholder is the text displayed inside an empty text box before the user enters a value.

To get the placeholder in AEM testing using Java Selenium, locate the text box element and use getAttribute("placeholder").

WebElement textBox = driver.findElement(By.xpath("xpath"));

String placeholderText = textBox.getAttribute("placeholder");

 


3. How to get the color of a field or object  or  background or text in AEM Testing using Java Selenium?

To get the color of an element, first locate the web element and use getCssValue() to retrieve its CSS color value.

WebElement element = driver.findElement(By.xpath("xpath"));

String color = element.getCssValue("color");

 

To get the background color, use element.getCssValue("background-color").

To get the color of a text, use element.getCssValue("color").

 

4.    How do you validate links in AEM pages?

or How do you validate if any link is broken on the page?

I verify that links point to the correct URLs and return the expected response. Using Java Selenium, I follow these steps:

1.    Get all the links present on the page with anchor tag(tagname(“a”))

2.    Add or store all the links in an arraylist

3.    Get the "href" attributes for all the links

4.    Create instance/object of URL class for each of the href attributes

5.    Create httpURLconnection for each URL

6.    Get status/response code (HTTP status code)

7.    If response code is 400 or above, than consider the link as broken or unsuccessful.


5.  What is dispactcher in AEM ?

The Dispatcher is a caching and load-balancing tool that sits in front of the AEM Publish instance and serves content to users. It improves website performance by caching published pages and reduces the load on the Publish instance.

Normally, a tester do not test the dispatcher and directly test the live page after it is published and went live. But if it is needed in a project then there will be a separate URL to test the dispatcher.

So, the steps would be :

Test author URL in author instance

Test published URL in published instance

Test dispatcher URL to verify cached content, cache invalidation, and relevant headers or cookies.

Test the live URL to verify the website from the end user's perspective.


6.  What is responsive testing in AEM ?

Responsive testing in AEM means testing a webpage on different screen sizes and devices, such as desktops, tablets, and mobile phones, to ensure the layout and functionality meet the requirements.

Example:

    Desktop: Logo | Home | About us| Products | Support | Contact

    Mobile: Logo | ☰

On mobile, the navigation menu may change to a hamburger menu to fit the smaller screen.


7.  What is content fragment in AEM ?

It is a reusable content. It does not include the webpage layout. For example, for an ecommerce website, a content fragment can be created with below information and can be used in different pages or channels. The content remains the same, but the way it is displayed can be different.

Product Name: iPhonexx

Price: $549

Description: iPhone with xyz feature

Brand: Apple

What happens if the information changes?

For example, if the price changes from $799 to $749, you update the Price field in the original Content Fragment.

Difference with the Experience Fragment :

A content fragment is reusable content. It does not include the page layout and design. It focuses on what to display.

An experience fragment is reusable content. It includes the page payout and design or presentation. It focuses on what to display plus how to display.

 

8.  How do you test an AEM workflow?

It depends on the project requirements. However, a typical AEM content approval workflow follows these steps:

Author → Reviewer → Approver/Publisher → Publish

There are usually three roles: Author, Reviewer and Publisher.

Testing Steps:

1.    The Author creates or updates the content and submits it for review.

2.    The Reviewer receives the workflow task.

3.    The Reviewer reviews the content.

4.    If approved, the content moves to the next step for publishing.

5.    If rejected, the content follows the rejection path and returns to the Author for changes.

6.    The Publisher receives the task and publishes the approved content.

Note: If the reviewer rejects the content, then the workflow follows the rejection path, and the content is sent back to the Author for necessary changes and resubmission.

 

A tester will verify:

    - Test as the various roles or users.

    - Each user receives the correct workflow task.

    - Approval and rejection paths work correctly.

    - Only authorized users can perform their assigned actions.

    - Content is published only after the required approvals.

 

9. How would you test an image component in AEM?

An AEM tester will test below features for an image component:

The image formats which are supported and not supported

Upload the image in DAM

Drag and drop the image

Image size/dimensions

Alt text

Broken image

Missing image

Image link, if applicable

Use the image in different browsers

Publish the image

Test in different browsers, devices, screen sizes

 

10. What is a Multifield in AEM?

A Multifield in AEM is a dialog field that allows authors to add multiple values or groups of fields dynamically by clicking an "Add" button.

Instead of displaying all the fields at once, the author can add new fields whenever needed.

A Multifield can contain:

    A single field (e.g., multiple phone numbers).

    A group of fields (e.g., job title, company name, and experience).

 

Example: In a job application form, an applicant can click the "Add Experience" button to add multiple sets of fields to enter their previous job details.

 

11. What are Placeholder, Alt Text, Tooltip, and Label?

1. Placeholder: It is a text displayed inside an empty text box. Once the user starts typing, the placeholder text disappears.

Example: "Enter your username"

 

2. Alt Text: It is alternative text used to describe an image. Screen readers read this text to help visually impaired users understand the image. It may also be displayed if the image fails to load.

Example: "Company Logo"

 

3. Tooltip: It is a short text that provides additional information about a field or element. It usually appears when the user hovers the mouse over the element.

Example: Hovering over a password field displays "Password must contain at least 8 characters."

 

4. Label: It is a text that identifies a field and tells the user what information to enter. It is usually displayed above or beside the input field.

Example: "Username" displayed above or beside the username text box.