Skip to content

[🐛 Bug]: [java] Relay session factory alters the client's request capabilities for Appium sessions #15372

Open
@sbabcoc

Description

@sbabcoc

What happened?

This issue was introduced by #14247
These revisions were intended to resolve #14216

The revisions applied to RelaySessionFactory were unnecessary, actually creating a bug instead of resolving one.
The OP reported that he was unable to acquire Appium session from Selenium Grid 4 because the "merge" operation that combines relay node stereotypes with the client's requested capabilities was creating a specification that defined both appium:app and browserName, which is disallowed by Appium.

The issue wasn't in the Selenium Relay implementation; it was in the OP's configuration. The actual fix was to add an additional entry to the [configs] array of his relay configuration. One of the entries should specify browserName and the other should omit it.

The fix for the issue in RelaySessionFactory is to simply revert the changes from #14247

How can we reproduce the issue?

To reproduce this issue, examine the source for **RelaySessionFactory**. The `apply` method includes Appium-specific implementation that unnecessarily alters the client's desired capabilities.

Relevant log output

There is no relevant log output

Operating System

Any

Selenium version

Java 4.23.0

What are the browser(s) and version(s) where you see this issue?

Android Chrome

What are the browser driver(s) and version(s) where you see this issue?

ChromeDriver 128.0.6594.0

Are you using Selenium Grid?

4.23.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-needs-triagingA Selenium member will evaluate this soon!I-defectSomething is not working as intended

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions