Rayrun
← Back to Discord Forum

Dynamics 365 and Infor M3 Experience with Playwright?

Hello Community,

I hope this message finds you well! I am currently exploring the dynamic world of Dynamics 365 and Infor M3, particularly in the context of utilizing Playwright for test automation. I'm eager to hear from individuals who have hands-on experience with these technologies.

If you have worked with Dynamics 365 or Infor M3, and have integrated Playwright into your workflow, I would love to hear about your experiences. What challenges did you face, and how did Playwright enhance or streamline your processes? Feel free to share any notable advantages or disadvantages you encountered during your journey.

This thread is trying to answer question "What are the experiences and challenges faced when integrating Playwright for test automation with Dynamics 365 or Infor M3?"

6 replies

Hi, just out of curiosity, is this for test automation on custom extensions/plugins/apps (whatever they're called) for Dynamics/Infor M3?

I think as long as it's web based (using HTML, CSS, JavaScript, HTTP(s), etc.) then it should work.

How maintainable and reliable it will be depends on how test-automation-friendly their pages and the custom 'extensions' are, like having good semantic markup and good usability attributes.

stepheng1762

Hi, I have started using Playwright to automate regression E2E tests for dynamics 365 - have create close to 100 so far with some very long complex e2e scenario's. Main challenge is determining the locators. Biggest tip is to use retry-trying assertions and apply AAA (Arrange, Act & assert).

What is AAA?

@gnaffle: https://automationpanda.com/2020/07/07/arrange-act-assert-a-pattern-for-writing-good-tests/ Arrange, Act, Assert
@stepheng1762: Just for clarification for everyone, by retry-trying assertions, you mean auto retry ones and `expect.poll(...)` and `expect.toPass(...) ` https://playwright.dev/docs/test-assertions#expectpoll

Just for clarification for everyone, by retry-trying assertions, you mean auto retry ones and expect.poll(...) and expect.toPass(...)

https://playwright.dev/docs/test-assertions#expectpoll

stepheng1762
@p01___: I apply AAA this way: async openEmploymentHistory() { // Arrange, make sure we are in a position to continue await expect(this.button.WorkTab).toBeVisible(); // Act - Do what we want to do. await this.button.WorkTab.click(); await this.link.EmploymentHistory.click(); // Assert - Confirm act has done what we wanted. await expect(this.combo.startDate).toBeVisible({timeout: 10 * 1000}); } See this for re-trying assertions. Fantastic part of Playwright! https://playwright.dev/docs/test-assertions Dynamics can be a bit slow in doing it's actions and Playwright can get a bit ahead of it. So, I have found the re-trying assertions are a must 🙂

I apply AAA this way:

async openEmploymentHistory() { // Arrange, make sure we are in a position to continue await expect(this.button.WorkTab).toBeVisible();

// Act - Do what we want to do.
await this.button.WorkTab.click();
await this.link.EmploymentHistory.click();

// Assert - Confirm act has done what we wanted.
await expect(this.combo.startDate).toBeVisible({timeout: 10 * 1000});

}

See this for re-trying assertions. Fantastic part of Playwright! https://playwright.dev/docs/test-assertions

Dynamics can be a bit slow in doing it's actions and Playwright can get a bit ahead of it. So, I have found the re-trying assertions are a must 🙂

Related Discord Threads

TwitterGitHubLinkedIn
AboutQuestionsDiscord ForumBrowser ExtensionTagsQA Jobs

Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email luc@ray.run.