-
-
Notifications
You must be signed in to change notification settings - Fork 764
Unlike RemoteWebDriver, AppiumDriver constructors don't allow user-provided CommandExecutor #276
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
Sounds meaningful 👍 |
Good point. We provide our own command-executor to RemoteWebDriver in order to get appium to work, and the chain shouldn't end with us. @baechul Do you want to work on this and submit a pull request? |
I am trying to contribute by sending a pull request but I can't find the contribution guide page. Just running "mvn clean install" failed out of the master branch. I am on osx. Is there contribution guide with build/configuration instruction? |
I think there there should be one or few public constructors that can pass user's CommandExecutor. Maybe... Does it make sense to use only HttpCommandExecutor extensions instead of CommandExecutor implementations? This way the number of constructors can be reduced, |
I have updates to be contributed back. I tested locally and seems working fine. The way I have updated is to allow for users to pass a custom HttpClient.Factory to AndroidDriver/IOSDriver const. The passed HttpClient.Factory is consumed by the existing AppiumCammandExecutor class. Idea was to reuse AppiumCammandExecutor but just allow users to pass own wrapper of HttpClient so that extra headers can be injected. Example of AndroidDriver additional const: I will send the pull request soon for the community reviews. |
Fixed and it is going to be published |
Great! Thanks. |
There is a usecase where I need to have an AppiumCommandExecutor constructed with my HttpClient.Factory then pass it to the AppiumDriver constructors. Not limited to this case only but the usecase I have is to add some extra headers to the underlaying RemoteWebDriver HttpRequests by overriding HttpClient execute method in my HttpClient.Factory.
Some enterprise companies have a service gateway that requires an auth headers. We can make the desktop browser RemoteWebDriver requests pass the gateway with the required headers because RemoteWebDriver allows my CommandExecutor. The same is blocked with Appium RemoteWebDriver.
Please add additional AppiumDriver const which takes user-provided CommandExecutor.
The text was updated successfully, but these errors were encountered: