Skip to content

fix(tests): use bundled iOS TestApp instead of downloading it from github.com - #1140

Draft
Dor-bl wants to merge 1 commit into
appium:mainfrom
Dor-bl:fix/tests-local-app-archives
Draft

Dor-bl wants to merge 1 commit into
appium:mainfrom
Dor-bl:fix/tests-local-app-archives

Conversation

@Dor-bl

@Dor-bl Dor-bl commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

Related issue

n/a

List of changes

  • Apps helper: when tests start Appium locally, use the TestApp.app.zip checked into the repo (now copied to the build output). Remote Appium servers still receive the URL.
  • Apps are resolved lazily per key, so a test only fetches the app it uses. Previously the first Apps.Get downloaded every app, so a failed iOS download also failed all Android tests.
  • Downloads are retried up to 4 times with exponential backoff.
  • New AppsHelperTest, added to the unit-test filter in unit-test.yml and AGENTS.md.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change that adds functionality or value)
  • Refactoring (non-breaking change that improves code without altering functionality)
  • Breaking change (fix or feature that would cause existing functionality not to work as expected)
  • New test coverage (non-breaking change that adds tests for existing, previously untested functionality)
  • Test fix (non-breaking change that improves test stability or correctness)
  • Chore/Maintenance (updates to build scripts, dependencies, or GitHub Actions)

Tests

  • Unit tests
  • Integration tests
  • No automated tests (explain why below)

How they run: AppsHelperTest is added to the existing unit-test filter, so it runs on every PR (net8.0 on Windows/Linux/macOS, net48 on Windows). It runs locally on net8.0 and net48 and passes. The functional suites run on this PR's CI and are the real check of the fix. I could not run them locally because I have no emulator or simulator here.

Documentation

  • Have you proposed a file change/PR with Appium to update documentation?
  • Not applicable (no user-facing behaviour change, e.g. tests, CI or maintenance only)

Details

Since 2026-10-02, every Functional Tests run (including main) fails in OneTimeSetUp with:

Failed to download https://github.com/appium/dotnet-client/blob/main/test/integration/apps/archives/TestApp.app.zip?raw=true
 ----> HttpRequestException : Response status code does not indicate success: 503 (Service Unavailable).

The URL works outside GitHub Actions, so github.com appears to reject these requests from runners. This blocks the open Dependabot PRs (#1113, #1115, #1123, #1137).

🤖 Generated with Claude Code

@github-actions github-actions Bot added the BugFix label Oct 2, 2026
…thub.com

Functional tests on CI started failing with 503 responses when downloading
TestApp.app.zip from github.com. Because Apps initialised every app up front,
the failure also broke all Android tests.

- Use the TestApp.app.zip checked into the repo (copied to the build output)
  when tests start Appium locally; remote servers still get the URL.
- Resolve apps lazily, so a test only fetches the app it needs.
- Retry downloads with exponential backoff.
- Add AppsHelperTest and include it in the unit-test filter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Dor-bl
Dor-bl force-pushed the fix/tests-local-app-archives branch from 697b50a to 7dc4657 Compare October 2, 2026 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant