Using Playwright for Power Platform

Using Playwright for Power Platform

Common Test Scenarios

Authentication Testing

test('Office 365 Login Flow', async ({ page }) => {
  await page.goto(process.env.APP_URL);
  await page.fill('[name="loginfmt"]', process.env.O365_USERNAME);
  await page.click('[type="submit"]');
  await page.fill('[name="passwd"]', process.env.O365_PASSWORD);
  await page.click('[type="submit"]');
  await expect(page).toHaveTitle(new RegExp(process.env.APP_NAME));
});

Canvas App Testing

test('Form Submission Workflow', async ({ page }) => {
  await page.goto(process.env.APP_URL);
  await page.waitForSelector('[data-automation-id="Canvas"]');
  await page.click('[aria-label="Name input"]');
  await page.fill('[aria-label="Name input"]', 'Test User');
  await page.click('[aria-label="Submit button"]');
  await expect(page.locator('[aria-label="Success message"]')).toBeVisible();
});

Troubleshooting

  • Check credentials and permissions for authentication issues
  • Add waits for slow-loading elements
  • Review HTML reports and trace files for debugging