1 2 Previous Next 16 Replies Latest reply on Oct 11, 2013 2:43 PM by asotobu

    Arquillian-Droidum-Web throws an exception during startup about property names

    asotobu

      Hi, I am trying to use Arquillian-Droidum-Web to add be able to run my web tests not only to Firefox or Chrome browser, but also from Android's Chrome browser. Previously I had used arquillian-android-extension but now I try to update the test to Droidum. I am using Arquillian-Droidum-Web 1.0.0.Alpha1 and Embedded TomEE as web container.

       

      My project is located at https://github.com/lordofthejars/foobank and I have configured several Maven profiles to be able to choose container (Weld or Embedded TomEE), and to choose the browser. You can see the pom.xml here https://github.com/lordofthejars/foobank/blob/master/pom.xml where Droidum part looks :

       

      <profile>
                  <!-- Profile by which tests are executed, be sure you provide all 
                      needed parameters on command line in order to satisfy Maven. -->
                  <id>browser-android</id>
                  <activation>
                      <activeByDefault>false</activeByDefault>
                  </activation>
                  <properties>
                      <!-- Name of AVD (emulator) to use when starting Android device -->
                      <android.avd.name>my_nexus</android.avd.name>
                      <android.emulator.options></android.emulator.options>
                      <browser>android</browser>
                  </properties>
      
                  <!-- Dependencies -->
                  <dependencies>
      
                      <!-- Arquillian Droidium container adapter -->
                      <dependency>
                          <groupId>org.arquillian.container</groupId>
                          <artifactId>arquillian-droidium-container-depchain</artifactId>
                          <type>pom</type>
                          <scope>test</scope>
                          <version>${droidum.version}</version>
                      </dependency>
      
                      <!-- Arquillian Droidium for web testing -->
                      <dependency>
                          <groupId>org.arquillian.extension</groupId>
                          <artifactId>arquillian-droidium-web-depchain</artifactId>
                          <version>${droidum.version}</version>
                          <type>pom</type>
                          <scope>test</scope>
                      </dependency>
                  </dependencies>
                  </profile>
      

       

      And also I have an arquillian.xml file where now by default opens an Adroid container but I have in mind to make group disabled by default and activate it through arquillian.launch property. File is located in https://github.com/lordofthejars/foobank/blob/master/src/test/resources/arquillian.xml

       

      And the content is:

       

      <arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://jboss.org/schema/arquillian"
        xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
      
        <group qualifier="containers" default="true">
        <container qualifier="android" default="true">
        <configuration>
        <!-- Name of Android container to start or use during tests. This property 
        is filtered meaning it is set in profile in pom.xml under the same name of 
        the property. -->
        <property name="avdName">${android.avd.name}</property>
        <property name="emulatorOptions">${android.emulator.options}</property>
        <property name="emulatorBootupTimeoutInSeconds">600</property>
        <property name="logType">disable</property>
        <property name="droneGuestPort">8080</property>
        <property name="droneHostPort">8080</property>
        <property name="adapterImplClass">org.arquillian.droidium.container.AndroidDeployableContainer</property>
        </configuration>
        </container>
        </group>
      
        <!-- Configuration of Droidium extension for web testing -->
        <extension qualifier="droidium-web">
        <!-- Path of Android server APK -->
        <property name="serverApk">android-server-2.32.0.apk</property>
        </extension>
      
        <extension qualifier="webdriver">
        <property name="javascriptEnabled">true</property>
      
        <property name="browser">${browser}</property>
        <property name="remoteAddress">http://localhost:4444/wd/hub/</property>
        <property name="chromeDriverBinary">/Users/alexsotobueno/Downloads/chromedriver</property>
        <property name="remoteReusable">${remoteReusable}</property>
        <!-- <property name="remoteAddress">http://localhost:4444/wd/hub/</property> -->
        </extension>
      
      </arquillian>
      

       

      The problem is that when I run my test with tomee-embedded and browser-android profiles enabled next exception is thrown:

       

      29-sep-2013 19:56:42 org.arquillian.droidium.multiplecontainers.MultipleContainersExtension register

      INFO: Multiple containers extension registering.

      29-sep-2013 19:56:43 org.arquillian.droidium.multiplecontainers.MultipleLocalContainersRegistry create

      INFO: Registering container: android

      29-sep-2013 19:56:43 org.arquillian.droidium.web.configuration.DroidiumWebConfigurator configureDroidiumWeb

      INFO: Configuring droidium-web

      29-sep-2013 19:56:43 org.jboss.arquillian.drone.webdriver.factory.remote.reusable.ReusedSessionPernamentFileStorage readStore

      INFO: Reused session store is not available at /Users/alex/.drone-webdriver-session-store, a new one will be created.

      29-sep-2013 19:56:43 org.jboss.arquillian.container.impl.MapObject populate

      ADVERTENCIA: Configuration contain properties not supported by the backing object org.arquillian.droidium.container.configuration.AndroidContainerConfiguration

      Unused property entries: {adapterImplClass=org.arquillian.droidium.container.AndroidDeployableContainer}

      Supported property names: [home, sdSize, serialId, sdCard, logFilePath, sdCardLabel, abi, avdName, skip, emulatorShutdownTimeoutInSeconds, avdGenerated, emulatorOptions, logLevel, logSerialId, emulatorBootupTimeoutInSeconds, consolePort, droneHostPort, droneGuestPort, generatedAvdPath, forceNewBridge, generateSDCard, javaHome, logPackageWhitelist, apiLevel, logPackageBlacklist, adbPort, logType]

       

      I am not pretty sure what is the problem in the list of supported property names, all properties set in arquillian.xml are on list of supported properties.

       

      Thank you very much for your help, feel free to fork my repository and modify.

       

      Alex.

        • 1. Re: Arquillian-Droidum-Web throws an exception during startup about property names
          kpiwko

          Hi Alex,

           

          this WARNING does not fail the build - it just says that adapterImplClass is not supported by container itself (because is consumed by multiple-container-extension, which a part of Droidium container) and lists what properties are supported. You are safe here, but I reported [ARQ-1513] Multicontainer extension should not log warnings about its property - JBoss Issue Tracker nevertheless.

           

          Are you experiencing some error later on?

           

          Karel

          • 2. Re: Arquillian-Droidum-Web throws an exception during startup about property names
            smikloso

            i dont know about embedded containers to much but there is not any container configuration for tomee in your arq.xml. Why? When you use multiple container adapters you have to provide its adapterImpl classes. It does not matter that tomee itself does not know about that property. Droidium does. It is not possible to mix more container adapters by default. Set that adapterImpl property for it.

            • 3. Re: Arquillian-Droidum-Web throws an exception during startup about property names
              smikloso

              You can also clearly see that your second container is not registered, only android is - because there is just android containg for it.er confi

              • 4. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                smikloso

                And lastly, have in mind that you are operating on multiple containers here so you have to write your tests to be "container aware". You have to use @TargetsContainer and @OperatesOnDeploymen appropriately

                • 5. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                  asotobu

                  Hello thank you very much for your quick answer, well then I will need to find a way to register embedded tomEE inside container section and see if it works.

                   

                  Thank you so much for your help I will continue keep you update about my progress with TomEE.

                   

                  Alex.

                  • 6. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                    smikloso

                    I am doing it like remote containers in both cases. Have emulator up an running prior to tests. Do remote glassfish as well. You save tons of time while bootstrapping the test.

                    • 7. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                      kpiwko

                      Alex,

                       

                      this might help: https://github.com/kpiwko/html5-demoapp/blob/qunit-a1/src/test/resources/arquillian.xml . You can also check pom.xml and arquillian.launch in that branch in order to see how Mavne profiles are configured. You'd just need to replace JBossAS with TomEE.

                       

                      HTH,

                       

                      Karel

                      1 of 1 people found this helpful
                      • 8. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                        asotobu

                        Hi Karel and sorry for disturbing you one more time.

                         

                        I have been followed the instructions you point me out in previous message following your project, I have made all the changes, but sadly or I am missing something or there is something wrong with Embedded TomEE. The code again is at https://github.com/lordofthejars/foobank/

                         

                        When I run the tests with android profile I see two kind of exceptions, one from console and another one from junit:

                         

                        From console:

                         

                        INFO: Stopping service Tomcat

                        05-oct-2013 12:13:40 org.apache.coyote.AbstractProtocol stop

                        INFO: Stopping ProtocolHandler ["http-bio-8080"]

                        05-oct-2013 12:13:40 org.apache.coyote.AbstractProtocol destroy

                        INFO: Destroying ProtocolHandler ["http-bio-8080"]

                        05-oct-2013 12:13:40 org.apache.catalina.util.LifecycleMBeanBase unregister

                        ADVERTENCIA: Failed to unregister MBean with name [Tomcat:type=Realm,realmPath=/realm0] during component destruction

                        javax.management.InstanceNotFoundException: Tomcat:type=Realm,realmPath=/realm0

                          at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1092)

                          at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.exclusiveUnregisterMBean(DefaultMBeanServerInterceptor.java:415)

                          at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean(DefaultMBeanServerInterceptor.java:403)

                          at com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean(JmxMBeanServer.java:516)

                          at org.apache.catalina.util.LifecycleMBeanBase.unregister(LifecycleMBeanBase.java:194)

                          at org.apache.catalina.util.LifecycleMBeanBase.destroyInternal(LifecycleMBeanBase.java:73)

                          at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

                          at org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1218)

                          at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

                          at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:593)

                          at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

                          at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:822)

                          at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)

                          at org.apache.catalina.startup.Tomcat.destroy(Tomcat.java:355)

                          at org.apache.tomee.embedded.Container.stop(Container.java:338)

                          at org.apache.openejb.arquillian.embedded.EmbeddedTomEEContainer.stop(EmbeddedTomEEContainer.java:111)

                          at org.jboss.arquillian.container.impl.ContainerImpl.stop(ContainerImpl.java:217)

                          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$9.perform(ContainerLifecycleController.java:178)

                          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$9.perform(ContainerLifecycleController.java:172)

                          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forContainer(ContainerLifecycleController.java:255)

                          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.stopContainer(ContainerLifecycleController.java:171)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)

                          at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

                          at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)

                          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$4.perform(ContainerLifecycleController.java:107)

                          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$4.perform(ContainerLifecycleController.java:100)

                          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forEachSuiteContainer(ContainerLifecycleController.java:221)

                          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.stopSuiteContainers(ContainerLifecycleController.java:99)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

                          at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)

                          at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:91)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)

                          at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

                          at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.afterSuite(EventTestRunnerAdaptor.java:73)

                          at org.jboss.arquillian.junit.Arquillian$1.shutdown(Arquillian.java:128)

                          at org.jboss.arquillian.junit.Arquillian$1.testRunFinished(Arquillian.java:114)

                          at org.junit.runner.notification.RunNotifier$2.notifyListener(RunNotifier.java:95)

                          at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:61)

                          at org.junit.runner.notification.RunNotifier.fireTestRunFinished(RunNotifier.java:92)

                          at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:51)

                          at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

                          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

                          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

                          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

                          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

                        05-oct-2013 12:13:40 org.apache.catalina.util.LifecycleMBeanBase unregister

                        ADVERTENCIA: Failed to unregister MBean with name [Tomcat:type=Valve,name=StandardEngineValve] during component destruction

                        and from junit:

                         

                        java.lang.RuntimeException: Unable to instantiate Drone via org.openqa.selenium.android.AndroidDriver(URL,DesiredCapabilities): org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

                        Build info: version: '2.35.0', revision: '8df0c6bedf70ff9f22c647788f9fe9c8d22210e2', time: '2013-08-17 12:46:41'

                        System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.5', java.version: '1.6.0_51'

                        Driver info: driver.version: AndroidDriver

                          at org.jboss.arquillian.drone.impl.DroneInstanceCreator.createDroneInstance(DroneInstanceCreator.java:96)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

                          at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)

                          at org.jboss.arquillian.drone.impl.DroneTestEnricher.getDroneInstance(DroneTestEnricher.java:111)

                          at org.jboss.arquillian.drone.impl.DroneTestEnricher.enrich(DroneTestEnricher.java:72)

                          at org.jboss.arquillian.test.impl.TestInstanceEnricher.enrich(TestInstanceEnricher.java:52)

                          at org.jboss.arquillian.container.test.impl.ClientTestInstanceEnricher.enrich(ClientTestInstanceEnricher.java:51)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)

                          at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)

                          at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createBeforeContext(ContainerEventController.java:124)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)

                          at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)

                          at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)

                          at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                          at java.lang.reflect.Method.invoke(Method.java:597)

                          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)

                          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

                          at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:95)

                          at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:222)

                          at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)

                          at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)

                          at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)

                          at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)

                          at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)

                          at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

                          at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)

                          at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)

                          at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)

                          at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)

                          at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)

                          at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)

                          at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)

                          at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)

                          at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)

                          at org.junit.runners.ParentRunner.run(ParentRunner.java:309)

                          at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)

                          at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)

                          at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

                          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

                          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

                          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

                          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

                        Caused by: java.lang.RuntimeException: Unable to instantiate Drone via org.openqa.selenium.android.AndroidDriver(URL,DesiredCapabilities): org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

                        Build info: version: '2.35.0', revision: '8df0c6bedf70ff9f22c647788f9fe9c8d22210e2', time: '2013-08-17 12:46:41'

                        I am using the Alpha1 version of Droidum and the truth is that system does not try to open android emulator.

                        IMO the TomEE error is a cause of junit exception but of course I can be wrong.

                         

                        Any idea?

                        Thank you so much.

                        • 9. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                          smikloso

                          Hi Alex, I was just briefly looking at your foobank project, first of all, I do not know why you are using SNAPSHOT versions of artifacts. It is quite bad habit and if you really do not have to, I would rather stick to non snapshot releases. If you are using them, your tests and build are not reproducible over time since snapshots are still changing under your hands. Not too smart I would say ...


                          I am not experienced with tomee container at all, I do not know your setup but I tried to compile that and deploy war to jboss as and it seems that it is deployed without any issues and it is ok but when I tried to hit localhost:8080/foobank-0.0.1-SNAPSHOT/ (that is the web context jboss as declares I can find the web app at) it is not found and some related error pops up. It seems your error is more related to actual deployment to the container and the error message from Drone about the inability to instantiate Drone is only the result of that.


                          Next you said that your Android emulator is not started (it does not have to be started over and over again, just have it up and running and Droidium connects automatically, I bet you know this), so because it is not started, Drone can not setup itself ... If you are unsure if your local setting is ok, I would totally recommend to try some demos here: https://github.com/arquillian/arquillian-droidium/tree/master/tests


                          Especially this demo: https://github.com/arquillian/arquillian-droidium/tree/master/tests/droidium-web-01


                          There is step by step howto in order to get these things up and running. droidium-web-01 demo tests exactly the same scenario you are trying to bootstrap but with JBoss AS 7.1.1. That container is extracted to target when you are doing tests. Please read README of that demo very carefully and I bet you got pretty good idea how that should be tested. Hope it helps, love to hear from you back! Stefan

                          • 10. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                            asotobu

                            Well I am using SNAPSHOT of TomEE because there is a bug in latest stable version which is resolved in SNAPSHOT version. I will try to have Android emulator already started up. But I thought it would be started by Droidum.

                            • 11. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                              kpiwko

                              Alex, here's my guess:

                               

                              Port collision. Let TomEE to run on 8080 and move Droidium to a different port - I suggest 14444 which is the default for Drone.

                               

                              Karel

                              • 12. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                                kpiwko

                                Alex, any update on this? Have you resolved the issue?

                                • 13. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                                  asotobu

                                  Hi,

                                   

                                  well I tried what Stefansaid and it didn't work, now I have to try what you told me about ports, sadly this week it has been a busy week and I couldn't try it, but tomorrow I have planned to do change the ports and see what's happen. If it doesn't work, then I will try to download the test of Droidum which it works with managed jboss, execute it and see that it works and then I will try to adapt the example to TomEE to see the problem.

                                   

                                  I will keep you update about my progress. Next Friday I will present Arquillian to Codemotion Madrid and I would like to show Droidum too (but it is not mandatory because the main topic in UI is about Drone (I will show last feature about autoinstallation of phantomjs)) and of course the way I use Arquillian every day (Arquillian Drone/Graphene in browser). But the truth is that Droidum and TomEE in my case it is more as self exercise, because currently in my work we do not work with Mobility projects.

                                   

                                  Thank you so much for your interest,

                                   

                                   

                                  Alex

                                  • 14. Re: Arquillian-Droidum-Web throws an exception during startup about property names
                                    smikloso

                                    Hi Alex, good news here ...


                                    grab this demo https://github.com/smiklosovic/droidium-aerogear-todo-test


                                    It takes ear web app and mobile native application, ear is deployed to jboss and mobile app to mobile (obviously :D). Then it writes some things to web app and after that it logs in to android and does the same there.


                                    In the end of the test, you see that what you added in web is in native app and what you added in native android application is shown in web page as well. Pretty cool I think. It shows Droidium in full strenght and it uses cool feature as Graphene page fragments (even for native Android activities )


                                    Thank you for propagating Droidium, I am really thankful for it.


                                    HTH


                                    Stefan

                                    1 2 Previous Next