Skip to content

fix: increase e2e test timeouts and improve app readiness check#928

Open
Dhanushree-Microsoft wants to merge 1 commit into
mainfrom
fix/e2e-test-timeouts
Open

fix: increase e2e test timeouts and improve app readiness check#928
Dhanushree-Microsoft wants to merge 1 commit into
mainfrom
fix/e2e-test-timeouts

Conversation

@Dhanushree-Microsoft
Copy link
Copy Markdown
Contributor

Problem

The e2e Golden Path test pipeline is failing consistently due to timeout errors:

  • Run 1: \home_page_load()\ times out (150s) waiting for the app to render
  • Runs 2 & 3: \show_chat_history()\ fails with only a 9s timeout for chat history visibility

The app appears to be slow/unresponsive when the tests execute, causing all 3 retry attempts to fail.

Changes

\ ests/e2e-test/pages/HomePage.py\

  • **\home_page_load**: Set explicit 180s timeout (previously relied on context default of 150s)
  • **\show_chat_history**: Increased timeout from 9s to 60s to handle slow backend responses

.github/workflows/job-test-automation.yml\

  • Improved health check with proper HTTP status code validation and increased to 15 attempts
  • Added 30s post-ready wait for full app initialization after HTTP responds
  • Increased retry delays between test runs (60s and 90s instead of 30s and 60s)

Related

Fixes pipeline failure: https://github.com/microsoft/Conversation-Knowledge-Mining-Solution-Accelerator/actions/runs/26271281861

- Increase home_page_load timeout to 180s (explicit instead of relying on default)
- Increase show_chat_history timeout from 9s to 60s to handle slow backend responses
- Improve workflow health check with HTTP status code validation and 15 attempts
- Add 30s post-ready wait for full app initialization
- Increase retry delays between test runs (60s and 90s instead of 30s and 60s)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to stabilize the Golden Path E2E pipeline by accommodating slower application startup and slower backend/UI responsiveness during test execution.

Changes:

  • Increased Playwright wait timeouts in HomePage page-object methods to reduce flaky failures under load.
  • Improved GitHub Actions “app readiness” polling to validate HTTP status codes, allow more attempts, and add an extra post-ready wait.
  • Increased retry backoff delays between test reruns to give the app more time to recover.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
tests/e2e-test/pages/HomePage.py Raises key UI wait timeouts for initial page readiness and chat history visibility.
.github/workflows/job-test-automation.yml Enhances readiness polling and increases delays between retry test runs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

echo "Attempt $attempt: Checking if application is ready..."
if curl -f -s "${{ env.url }}" > /dev/null; then
echo "Application is ready!"
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "${{ env.url }}" || echo "000")
Comment on lines +149 to 152
- name: Sleep for 60 seconds
if: ${{ steps.test1.outcome == 'failure' }}
run: sleep 30s
run: sleep 60s
shell: bash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants