6 Replies Latest reply on Jul 27, 2016 4:23 AM by bmajsak

    Drone extension for Appium

    vinothsjboss

      First, Kudos  to the arquillian team on creating an awesome framework ! I really like keeping webdriver config in a separate file, injection, page fragments, jquery locator, request guards etc. Great job!!!

      I was able to execute my tests without any issues in browserstack on a mobile device just by changing the arquillian-xml without touching the existing code.

       

      I would like to know if the team has any plans to create such an extension for appium. As appium is becoming an industry standard for mobile testing. It would be good to have the extension.

       

      Thanks

        • 1. Re: Drone extension for Appium
          bmajsak

          Hi Vinoth,

           

          welcome in the community and thanks for such kind words!

           

          I'm not aware if there are any plans for Appium integration per se, but if you could file a feature request in JIRA we can see what we can do about it.

           

          Even more - if you would be interested in working with us on it, you have all my help!

           

          Cheers,

          Bartosz

          • 2. Re: Drone extension for Appium
            mjobanek

            Hi,

            no, there wasn't any plan. Looking at the documentation - it shouldn't be difficult to add support for Appium. Please file a Jira for "Extension - Drone" component Agile Board - JBoss Issue Tracker to keep it tracked.

            When I have a spared time I'll try to prepare some basic implementation for you to try it out.

            • 3. Re: Drone extension for Appium
              vinothsjboss

              Thanks.

               

              I created a feature request - [ARQ-2038] Create Drone extension for Appium - JBoss Issue Tracker.

              I can also contribute to the community. Please share the details when you have the project created.

               

              I also saw that we have GitHub - arquillian/arquillian-droidium: Arquillian Android Extensions project which seems to support only android. Will appium-extn be a redundant project?

              • 4. Re: Drone extension for Appium
                mjobanek

                smikloso May I ask you for your opinion?

                • 5. Re: Drone extension for Appium
                  smikloso

                  Hi Vinoth,

                   

                  I am author of Droidium.

                   

                  As of now, Droidium is working only in connection with Android and it is not meant to work with iOS. Droidium just wraps a project called Selendroid (1) and what it basically does is that it repackages Selendroid APK, installs that APK in connection with APK under the test and it controls that APK by instrumentation.Arquillian Graphene just talks to that Selendroid APK installed in the mobile phone which internally instruments all native Android elements. Selendroid is just a proxy translating WebDriver protocol to instrumentation calls of Android.

                   

                  Honestly I do not know how Appium works but you could investigate how to incorporate that into the Droidium by implementing some extension on top of  that. You could use droidium-container and droidium-platform submodules which currently do all grunt work regarding of the device creation, start, stop, Android SDK handling and so on so all "infrastructure" parts are already done and you could just hook to Droidium events. Droidium works with multiple devices simultaneously in one test, it integrates video recorder and screenshooter and Arquillian Reporter so it makes one coherent project where all literally fits together and using Graphene concepts, you can even use Selenium Page Objects on your native Android activities and you can even mix both app containers (JBoss, Tomcat ...) with Android device so you can test scenario where you deploy your app to JBoss and you test that from the mobile phone, all in one test run. I am not aware of any project which does that in such clean manner as Droidium does.

                   

                  Droidium is perfectly documented and code reads like a wine. I tried my best to have very well engineered and you could get into that quite fast if you are dedicated enough. There is even eventing tree (2) in docs so you can hack around if you want. I would be glad to hand you this project as I do not have time for that at all right now at all (I likely I will never have again).

                   

                  (1) GitHub - selendroid/selendroid: "Selenium for Android" (Test automate native or hybrid Android apps and the mobile web w…

                  (2) arquillian-droidium/event_model.png at master · arquillian/arquillian-droidium · GitHub

                  • 6. Re: Drone extension for Appium
                    bmajsak
                    Droidium is perfectly documented and code reads like a wine

                     

                     

                    I love this phrase! Even though I'm more a beer guy

                     

                    vinothjboss if you will need any help just ping us in this thread.