How to do Automated Testing in Anaplan?

Options

I have a good amount of experience using Selenium for web application testing, applying it to Anaplan is a new venture for me. Therefore, I would greatly appreciate any insights or advice from those who have ventured down this path before.

  1. How effective is Selenium WebDriver in interacting with Anaplan's web interface?
  2. Are there any specific challenges or limitations I should be aware of?
  3. What strategies or best practices would you recommend for handling Anaplan's dynamic elements and potential asynchronous data loading?
  4. Are there any particular frameworks or libraries that complement Selenium for testing in Anaplan?
  5. How do you manage and handle test data? Would you recommend using Anaplan’s API for setting up and tearing down test data, or is manual handling preferred?
  6. Do you have any example scripts or references to GitHub repositories that could guide me through the initial setup and implementation process?

@JaredDolich

Best Answer

  • Dikshant
    Answer ✓
    Options

    @Badam,

    1. Selenium WebDriver is generally effective in interacting with Anaplan's web interface. It provides a robust set of tools for automating web browsers, allowing you to perform actions like clicking buttons, filling out forms, and reading information from anaplan dashboards. However, it's crucial to note that Anaplan's web interface may use dynamic elements, so it's important to implement your scripts with flexibility to handle changes in the DOM. Additionally some simple tasks like selecting an option from dropdown might need workarounds to implement.
    2. Some challenges with Selenium and Anaplan may include dynamic elements, as mentioned before. Anaplan's web interface may also heavily rely on JavaScript, so you need to ensure that your WebDriver scripts handle asynchronous loading properly.
    3. Strategies or best practices:
      • Use explicit waits to handle asynchronous loading.
      • Identify stable locators for elements, and prefer unique identifiers where possible.
      • Regularly update and maintain your scripts to adapt to changes in the Anaplan web interface.
      • Use page object model which has all the objects with xpath parameterized
    4. Consider using testing frameworks like TestNG or JUnit in conjunction with Selenium. Additionally, you may explore libraries like Cucumber for behavior-driven development (BDD) to enhance the readability of your test scripts.
    5. The choice depends on your specific requirements. Using Anaplan's API for setting up and tearing down test data can offer automation and consistency. However, manual handling might be preferred for scenarios where using the API is not practical or when you need to simulate user interactions through the Anaplan interface.
    6. You can find examples and references on GitHub by searching for Selenium WebDriver scripts with a focus on Anaplan. Additionally, you might want to explore Anaplan's official documentation and community forums for specific examples or best practices shared by other users.

Answers

  • I'd potentially focus testing to be done by using Anaplan Transactional API with couple of additional UX tests with Selenium. This opinion based on that most of your testing is focusing on confirming your calculations are working correctly not that UX itself is working (UX working is quite much Anaplan's responsibility). This also makes it bit easier to write your tests to be interacting with Anaplan using API instead of Selenium which time to time can be difficult with Anaplan UX.