Building Appium with custom build selendroid

Hi

Because Selendroid has an issue with apps build on resent Cordova versions [1], I need to build my own and custom version of Selendroid.

To build Appium with my version of selendroid, is the only thing to change the .gitmodules to point my local selendroid repo?

[1] https://github.com/selendroid/selendroid/issues/658

I also need these instructions. Has anyone done this? AAltat, have you been successful? I need it for the same reason you do.

I did it and it did works.

In practice I did this:

  1. Updated .submodules to point local selendroid repo.
  2. Checked out correct selendoird version with tag
  3. Committed changes in Appium repo.
  4. Added Cordova jar to maven.
  5. Run reset.bat

Yes, the latest selendroid has the new cordova. But I’m unable to get it to run in an appium client. Either by generating a new client .exe, or by creating the selendroid portion to include in the appium client. That is where i’m currently stuck. Thank you for the replies.

I did not understand what is your problem. You are not able to compile Appium with the custom version of the selendroid? Could you share more details, what you are trying and how you are trying to do it.

I think cordova 3.7 is included in selendroid 0.15. I have the appium build tree which contains selendroid 0.15. I run reset -selendroid and the build finishes. But I don’t see the new cordova in any of the selendroid*.apk’s that are created. I think I need the selendroid.apk to drop into my appium client, correct? I do see files like selendroid-server-0.15.0.apk are created. Just none have cordova in them.

Or maybe I’m going about this all wrong? Is that how I get the latest selendroid to be included in the appium client, building the selendroid.apk?

Ugh

What Cordova apk you are looking for? Because of this change there should not be any extra apk, as far I can recall.

Cordova library is runtime dependency and comes from Maven local repository. Did you try the self build Appium, did it work or do you get any errors?

-Tatu

Thanks for replying. I need cordova 3.7. I can see it exists in my appium build tree at: …\appium\submodules\selendroid\third-party. I run reset -selendroid. I’m hoping that will create a new selendroid apk that I can lay down in my appium client (in another directory). We are only appium users, none of us have the appium dev environment (I only set it up so I could build the selendroid with the new cordova). So I just want to continue using the appium client but have the new selendroid/cordova embedded in it. This is a reference to the defect I’m trying to workaround (I post because it looks like you may have had the same problem): https://github.com/selendroid/selendroid/issues/658

Ugh

Yes I did have same problem. Because in my company, we all use same OS, windows, it was enough me to compile the Appium server from source and distribute that within archive. The only thing others needed to do was to install node.js with npm and then they got a working Appium server.

Our developers all use Windows as well. So for now, doing that same thing may be enough. How do I “compile the appium server and distribute that within archive”?

Here is what I have done, I have the appium build tree which contains selendroid 0.15. I run reset -selendroid and the build finishes. But I don’t see the new cordova in any of the selendroid*.apk’s that are created. I think I
need the selendroid.apk to drop into my appium client, correct? I do
see files like selendroid-server-0.15.0.apk are created. Just none have
cordova in them.

Have you read this: http://appium.io/slate/en/v1.3.6/?python#running-appium-on-windows

I did do what the setup chapter say’s and then put the result in archive. Note that default windows zip does fail because of the long folder paths, but it did work fine with 7zip.