I am diving into the Appium code at the API part today and found
packages/base-driver/lib/protocol/protocol.js. I am guessing the
METHOD_MAP constant is some kind of structure or default API for Mobile JSON Wire Protocol. Is that correct?
I am also diving into
appium-xcuitest-driver code and found that
lib/commands might be some kind of override or extension of default behavior. Is that correct?
Now the more important question is the
commands.nativeClick function. Would you mind explaining what is
proxyCommand is trying to do? I tried to go back to the main repo at the
packages/base-driver and read parent’s class
proxyCommand and still can’t wrap my head around it at the moment.
I want to understand where “Oh hey, I am server and I receive click command or is this element exist command, I am going to do XYZ with ios/android app”. Maybe I don’t understand the concept of proxy and protocol enough.
Hope this makes sense. Cheers!