Search code examples
seleniumselenium-webdriverjboss-arquillianarquillian-dronegraphene2

Is it possible to use Arquillian Graphene without using Arquillian container management and deployment?


I have a quite big set of Selenium driven UI tests, that are very cumbersome to maintain. I've read about Arquillian Graphene and its benefits, making life with Selenium less painfull.

I wonder if it's possible to use Arquillian Graphene (2) without using the Arquillian framework underneath it, i.e. simply drive Selenium tests against a running application. Do you have any experiences or are there any showstoppers from making this setup work? Cheers, Chris


Solution

  • Yes, using the 'standalone' version will remove the Container/Deployment support.

    The only problem is you'll also miss all the Container/Deployment metadata that Arquillian automatically fetch and use to e.g. construct the URL injection.

    As of Graphene 2.1.0.Alpha2 there was added support to configure a URL in arquillian.xml if one was not provided automatically. Using that feature should allow you to use Graphene against an already deployed application as if it was deployed by Arquillian.

    Essentially put this in your arquillian.xml file:

    <arquillian>
      <extension name="graphene">
        <property name="url">http://localhost:8080/app/</property>
      </extension>
    </arquillian>
    

    See https://issues.jboss.org/browse/ARQGRA-374 for more details.