3 Replies Latest reply on Mar 10, 2017 1:43 AM by Matous Jobanek

    How to get/configure phantomJS binrary using drone and arquillian-phantom-driver

    Ted Johnson Newbie

      Hi there - attempting to use Arquillian with arquillian-drone, my issue is I cannot get phantomJS to start in my remote build. These are the scenarios:

       

      Scenario 1

      Allow arquillian-phantom-driver to resolve the phantomJS binary from maven, but I sit in a network where the public maven repo is blocked as we run our own internal mirror. The mirror has the arquillian-phantom-binary I need but I'm unable to work out how to configure the Maven resolver to not use the central repo and instead use the internal mirror. Seems the arquillian-phantom-driver resolves to Maven with the below but I don't know of any global way to tell this resolver which repositories to use?

          

      Maven.resolver().resolve(gav).withoutTransitivity().asSingleFile();
      

       

      My other thought was to add the binary as a maven dependency to my own pom.xml hoping it would pick it up from my local repo before going outside to the public repo but that doesn't seem to be the case.

       

      Scenario 2

      Set the PhantomJS binary path myself, I can do this by setting the phantomjs.binary.path property in my arquillian.xml. The arquillian-phantom-driver respects this property but my binary is in a read only shared mount so the instantiation of PhantomJSBinary fails where it tries to set the file as executable. The only way forward I see with this approach is to enhance the PhantomJSBinary class to check if it's already executable (mine is) before trying to chmod it regardless.

       

      Anyone have any suggestions on how I can get this working?

       

      Much Appreciated,

      Ted