Skip to main content
Mobile flows usually get the app build from the runner. When app is omitted, Android and iOS launch fall back to RUN_INPUT_PATH.
const { driver } = await launch({
  appPackage: "com.example.android",
});
Use this when CI uploads the APK, AAB, IPA, or app bundle and QA Wolf sets RUN_INPUT_PATH for the run.

Use A Specific Environment Variable

If your flow needs a different variable, pass app.env.
const { driver } = await launch({
  app: { env: "ANDROID_APP_PATH" },
  appPackage: "com.example.android",
});

Resolution Rule

If app is present, launch resolves only that explicit app source:
  1. app.path
  2. app.env
  3. app.url
It does not fall back to RUN_INPUT_PATH after an explicit app object fails to resolve. For platform-specific launch fields, see the Android Reference and iOS Reference.
Last modified on April 24, 2026