appium / appium/java-client

bug: BaseActivateApplicationOptions setting does not take effect

Open
#2,149 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
1.3k
Forks
752
Avg merge
6d 21h
Merged PRs (30d)
8

Description

Do I have the most recent component updates?
  • I use the most recent available driver/plugin and server versions
Is the component officially supported by the Appium team?
  • I have verified the component repository is present under the Appium organization in GitHub
Is there an existing issue for this?
  • I have searched the existing issues
Current Behavior

iosDriver.activateApp(caseContext.getBundleId(), new BaseActivateApplicationOptions() { @Override public Map<String, Object> build() { JSONObject jsonObject = new JSONObject(); jsonObject.put("configEnv", "xxx"); return Map.of("environment", jsonObject); } });

I want to via in some parameters when the app starts to control the status of certain functions in the app, but it does not actually take effect.

I tried the value "xxx" on android, and it worked. adb command "adb shell am start -n ctrip.english/com.ctrip.ibu.myctrip.main.module.home.IBUHomeActivity --es configEnv xxx"

I also searched for other related information, such as through
wda.Client().session(cls.package_name, environment={"configEnv": xxx}),and it worked also.

Expected Behavior

I want to know how set this param via appium java(by the way, the "configEnv" is a parameter defined by ourselves ),and why does it not worked.

Minimal Reproducible Example

IOSDriver iosDriver = new IOSDriver(appiumDriverLocalService.get(), options);

iosDriver.activateApp(caseContext.getBundleId(), new BaseActivateApplicationOptions() {
@OverRide
public Map<String, Object> build() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("configEnv", "xxx");
return Map.of("environment", jsonObject);
}
});

Environment
  • Operating system: mac
  • Appium server version (output of appium --version): 2.1.3
  • Appium driver(s) and their version(s): xcuitest
  • Appium plugin(s) and their version(s):
  • Node.js version (output of node --version): node 18.17.1
  • npm version (output of npm --version): 10
  • Last component(s) version which did not exhibit the problem:
  • Platform and version under test: ios
  • Real device or emulator/simulator: simulator
Link to Appium Logs

No response

Further Information

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at IOSDriver.activateApp and BaseActivateApplicationOptions in the Java client, then trace how the built options are sent to the xcuitest driver. Compare the iOS path with the working Android and wda examples described in the issue. Done means the behavior is explained and the custom configEnv parameter is either passed correctly or the limitation is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.