Git Product home page Git Product logo

arquillian-extension-drone's Introduction

Arquillian Drone Build Status

To read complete documentation visit http://arquillian.org/arquillian-extension-drone/

The Arquillian Drone 2 extension for Arquillian provides a simple way to include functional tests for an application with a web-based user interface.

Arquillian Drone 2 brings the power of WebDriver into the Arquillian framework. WebDriver serves as a language to communicate with the browser, by filling the forms, navigating the pages and validating their content.

Compared with its predecessor Arquillian Drone 1, it offers new features and tools as part of the SPI as well as multiple life cycle scopes of @Drone points as part of the API.

1. Why should I use Arquillian Drone instead of plain WebDriver?

There are many reasons why you want to do that, the most important being:

  • Life cycle management of the browser

  • Interaction with deployments and containers provided by Arquillian

  • Simple usage of multiple browsers in a single test

  • Configuration kept on a single place, outside of the Java code

  • Fully compatible with the IDE

  • Integration with mobile based browsers testing (Arquillian Droidium)

  • Integration of JavaScript test suite execution (Arquillian QUnit)

  • Compatible with WebDriver (Selenium 2) and Selenium Grids

If you are still not convinced that Arquillian Drone matches your needs, you might have a look at Arquillian Graphene 2, which is a wrapper on top of WebDriver, goes one step further and provides you a convenient way how to write tests for rich AJAX UIs with an ease, injections for Page Objects and Page Fragments and much more.

2. Building the project

Prerequisites:

  • JDK 8 and newer

  • Maven 3.0.3 and newer

2.1. Running test suite

To run only unit tests:

mvn clean test

To run the whole test suite including functional tests using chrome browser.

mvn clean verify -Dbrowser=chrome

In case you want to modify the browser, you can specify -Dbrowser=firefox for instance. This will run the test suite using firefox defined. Similarly, you can use Chrome, Safari, etc…​

Tip
VNC server instance can be used to let all the browsers pop out in separate display. Just prepend both commands with DISPLAY=:${display.number}

2.2. Releasing new version

Run following commands:

mvn clean release:prepare release:perform

Make sure that you push the tag, close all issues with given version in JIRA and mark version as released.

arquillian-extension-drone's People

Contributors

afedotov avatar aslakknutsen avatar bartoszmajsak avatar dependabot-preview[bot] avatar dependabot[bot] avatar dipak-pawar avatar haqer1 avatar hemanik avatar john7doe avatar kpiwko avatar krichter722 avatar kullmanp avatar kvalev avatar lainsr avatar lprimak avatar mabartos avatar matousjobanek avatar mkouba avatar mojavelinux avatar papousek avatar pmuir avatar singhravik avatar starksm64 avatar stringbean avatar tadeaskriz avatar tomasdavidorg avatar trepel avatar vmuzikar avatar yurloc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arquillian-extension-drone's Issues

LATEST_STABLE Edge driver might not be available for Linux

Issue Overview

Every now and then when there's new MS Edge Driver released we are seeing build errors, because Linux driver is not (yet?) released.

At this moment calling https://msedgewebdriverstorage.blob.core.windows.net/edgewebdriver/LATEST_STABLE returns 96.0.1054.29 which is not on the download list we rely on https://msedgedriver.azureedge.net/

Available driver for LATEST_STABLE=96.0.1054.34

   <Blob>
      <Name>96.0.1054.29/edgedriver_arm64.zip</Name>
      <Url>https://msedgewebdriverstorage.blob.core.windows.net/edgewebdriver/96.0.1054.29/edgedriver_arm64.zip</Url>
      <Properties>
         <Last-Modified>Sat, 20 Nov 2021 01:52:05 GMT</Last-Modified>
         <Etag>0x8D9ABC85A9743EB</Etag>
         <Content-Length>6835653</Content-Length>
         <Content-Type>application/octet-stream</Content-Type>
         <Content-Encoding />
         <Content-Language />
         <Content-MD5>qJx+KvI7CWrXtL5TO9eSvQ==</Content-MD5>
         <Cache-Control />
         <BlobType>BlockBlob</BlobType>
         <LeaseStatus>unlocked</LeaseStatus>
      </Properties>
   </Blob>
   <Blob>
      <Name>96.0.1054.29/edgedriver_win32.zip</Name>
      <Url>https://msedgewebdriverstorage.blob.core.windows.net/edgewebdriver/96.0.1054.29/edgedriver_win32.zip</Url>
      <Properties>
         <Last-Modified>Sat, 20 Nov 2021 01:52:05 GMT</Last-Modified>
         <Etag>0x8D9ABC85AB529AB</Etag>
         <Content-Length>7004938</Content-Length>
         <Content-Type>application/octet-stream</Content-Type>
         <Content-Encoding />
         <Content-Language />
         <Content-MD5>mmc0ObYDuO+MPy7gk4ujAQ==</Content-MD5>
         <Cache-Control />
         <BlobType>BlockBlob</BlobType>
         <LeaseStatus>unlocked</LeaseStatus>
      </Properties>
   </Blob>
   <Blob>
      <Name>96.0.1054.29/edgedriver_win64.zip</Name>
      <Url>https://msedgewebdriverstorage.blob.core.windows.net/edgewebdriver/96.0.1054.29/edgedriver_win64.zip</Url>
      <Properties>
         <Last-Modified>Sat, 20 Nov 2021 01:52:31 GMT</Last-Modified>
         <Etag>0x8D9ABC86A452876</Etag>
         <Content-Length>8546939</Content-Length>
         <Content-Type>application/octet-stream</Content-Type>
         <Content-Encoding />
         <Content-Language />
         <Content-MD5>zUxHnbPYdiZX2H1WHt6qFg==</Content-MD5>
         <Cache-Control />
         <BlobType>BlockBlob</BlobType>
         <LeaseStatus>unlocked</LeaseStatus>
      </Properties>
   </Blob>
Expected Behaviour

The latest driver for the given OS is downloaded.

Current Behaviour

Fails as there is no matching

Steps To Reproduce

Run e.g. mvn verify -Dbrowser=edge on Linux box with Edge installed (surprise! there's one!)

Issue with dependency

During execution of mvn site the maven-project-info-reports-plugin logs the warning:
Error resolving project artifact: Failure to find org.jboss.arquillian.extension:arquillian-drone-selenium-server:pom:2.5.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced for project org.jboss.arquillian.extension:arquillian-drone-selenium-server:pom:2.5.0.

I think issue is that in arquillian-drone-bom-2.5.0.pom file, dependency arquillian-drone-selenium-server points to version 2.5.0, but that dependency vesion does not exit, at least in maven central repository. Lastest version for arquillian-drone-selenium-server is 2.0.1.Final.

Dependency imported in project as:

<dependencyManagement>
  <dependencies>
     <dependency>
      <groupId>org.jboss.arquillian.extension</groupId>
      <artifactId>arquillian-drone-bom</artifactId>
      <version>2.5.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Compatibility with Selenium 4.3.0

It'd be great to have the possibility smoothly interact with Selenium 4.3.0.

I'll also send PR for the Graphene, but the Drone needs to be done sooner.

Need workaround or exception handling for Drone error

The error is:
Unexpected callable present in Drone Context, should be already instantiated at this moment.

Please provide any workaround for this issue.

  1. To Check if the drone is already instantiated it should not create new drone , even after timeout also.

  2. Because in my case iedriver instantiated but visually am not able to see window. So, after some time its opening another window and there its throwing the above drone error.

  3. Is there any way to restrict or increasing timeout or exception handling or any other solution to overcome this issue.

Kindly provide your comments on my issues.

Remove support for Internet Explorer

Internet Explorer has been unmaintained for years, hence the InternetExplorerDriver is just dead weight as this point and should be removed. See earlier discussion under #402

[Drone] Add chrome-headless browser option to use headless chromium

Issue Overview

Add support for chrome-headless browser option to use headless chromium

Expected Behaviour

The idea of this task is making it simpler - just using chrome-headless as a browser property:

<property name="browser">chrome-headless</property>
Current Behaviour

Currently, the only way to use headless chromium is to use chrome as a browser and then add --headless as a chromeArguments property:

<property name="browser">chrome</property>
<property name="chromeArguments">--headless</property>

TestNG: Drone is destroyed by afterClass event - should be modified to destory afterTest .

TestNG is wildly used for selenium webdriver automation by QA automation people. TestNG provides a very nice way to reuse existing tests as shown here.

But Arquillian manages the drone lifecycle for each class - so we could not create a workflow by using Arquillian framework as the session is lost.

<suite>
	<test description="User Registration - Order -  Workflow">
	  <!--
		I can pass data here
	   -->
		<classes>
			<class name="com.test.RegistrationTest" />   <!-- drone is created and destroyed here -->
			<class name="com.test.SearchProductTest" />  <!-- drone is created and destroyed here -->
			<class name="com.test.PaymentInfoTest" />    <!-- drone is created and destroyed here -->
			<class name="com.test.OrderConfirmationTest" />  <!-- drone is created and destroyed here -->
		</classes>
	</test>

	<test description="Existing User - Order - Workflow">
	   <!--
		I can pass different data here
	   -->
		<classes>
			<class name="com.test.LoginTest" />
			<class name="com.test.SearchProductTest" />   <-- reused as these pages are common for both workflows -->
			<class name="com.test.PaymentInfoTest" />     <-- reused as these pages are common for both workflows -->
			<class name="com.test.OrderConfirmationTest" />  <-- reused as these pages are common for both workflows -->
		</classes>
	</test>
</suite>

DronePointContext metadata methods should be renamed

@TadeasKriz @kpiwko

Please consider the renaming of DronePointContext methods dealing with metadata

There are already:

DronePointContext.hasConfiguration
DronePointContext.hasFutureInstance

DronePointContext.setConfiguration
DronePointContext.setFutureInstance

DronePointContext.getConfigurationAs
DronePointContext.getInstanceAs
DronePointContext.getInstance
DronePointContext.getMetadata

however there is:
DronePointContext.containsMetadata
DronePointContext.storeMetadata

which does not comply to this logic and it is not intuitive. When using that API, my first idea is to type on keyboard get / set / has / is prefix.

Please rename them to:

DronePointContext.hasMetadata
DronePointContext.setMetadata

Drone - TestNg Parallel testing support

@MatousJobanek @lordofthejars

I am a huge fan of Arquillian Drone and Graphene. When i show Drone/Graphene features to others, (like Injection, page fragments, fluent wait API etc), everyone seems to love Drone/Graphene a lot. But in the end, I hear this as an issue/drawback of this drone from the people who explored this. It does not support parallel testing!!

Parallel testing is a must-have feature nowadays. I would suggest arquillian team to take a look at this - It would bring more users to our Arquillian community.

Exception:

java.lang.IllegalStateException: No TestRunnerAdaptor found, @BeforeSuite has not been called
at org.jboss.arquillian.testng.Arquillian.verifyTestRunnerAdaptorHasBeenSet(Arquillian.java:263)
at org.jboss.arquillian.testng.Arquillian.arquillianBeforeClass(Arquillian.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:100)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:515)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:216)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:143)
at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:169)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Chromedriver download now FAILS completely

Due to changes on the Chromium side, the LICENSE file now tries to get executed instead of the actual chromedriver.
Drone now downloads target/drone/XXX/chromedriver and chromedriver.LICENSE
and chromedriver.LICENSE gets exexuted instead of chromedriver

chromedriver download url for 115 and newer has changed

When running a test with 3.0.0.Alpha7 and Chrome 117 installed (long stacktrace that seems to handle a workaround for a failing download of 114 and in the end fails):

WARNUNG: There wasn't found any binary on the url: https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_win64.zip
Okt 03, 2023 12:39:04 PM org.jboss.arquillian.drone.webdriver.binary.handler.ChromeDriverBinaryHandler$ChromeStorageSources getReleaseForVersion
WARNUNG: Failed downloading 64-bit version of Chrome Driver. Reason: 
org.jboss.arquillian.drone.webdriver.binary.downloading.source.MissingBinaryException: There wasn't found any binary on the url: https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_win64.zip
	at org.jboss.arquillian.drone.webdriver.binary.downloading.source.UrlStorageSource.getReleaseForVersion(UrlStorageSource.java:85)
	at org.jboss.arquillian.drone.webdriver.binary.handler.ChromeDriverBinaryHandler$ChromeStorageSources.getReleaseForVersion(ChromeDriverBinaryHandler.java:101)
	at org.jboss.arquillian.drone.webdriver.binary.downloading.source.UrlStorageSource.getReleaseForVersion(UrlStorageSource.java:75)
	at org.jboss.arquillian.drone.webdriver.binary.downloading.source.UrlStorageSource.getLatestRelease(UrlStorageSource.java:66)
	at org.jboss.arquillian.drone.webdriver.binary.handler.ChromeDriverBinaryHandler$ChromeStorageSources.getLatestRelease(ChromeDriverBinaryHandler.java:120)
	at org.jboss.arquillian.drone.webdriver.binary.downloading.source.UrlStorageSource.getLatestRelease(UrlStorageSource.java:59)
	at org.jboss.arquillian.drone.webdriver.binary.handler.AbstractBinaryHandler.downloadAndPrepare(AbstractBinaryHandler.java:175)
	at org.jboss.arquillian.drone.webdriver.binary.handler.AbstractBinaryHandler.checkAndSetBinary(AbstractBinaryHandler.java:61)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.getChromeOptions(ChromeDriverFactory.java:108)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.getChromeOptions(ChromeDriverFactory.java:123)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:80)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:42)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:127)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:38)
	at org.jboss.arquillian.drone.impl.DroneConfigurator$1.createInstance(DroneConfigurator.java:112)
	at org.jboss.arquillian.drone.impl.CachingCallableImpl.call(CachingCallableImpl.java:44)
	at org.jboss.arquillian.core.impl.threading.ThreadedExecutorService$ContextualCallable.call(ThreadedExecutorService.java:88)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)

Okt 03, 2023 12:39:04 PM org.jboss.arquillian.drone.webdriver.binary.handler.ChromeDriverBinaryHandler$ChromeStorageSources getReleaseForVersion
WARNUNG: This special case was reported as https://github.com/arquillian/arquillian-extension-drone/issues/300
Okt 03, 2023 12:39:04 PM org.jboss.arquillian.drone.webdriver.binary.handler.ChromeDriverBinaryHandler$ChromeStorageSources getReleaseForVersion
WARNUNG: Downloading 32-bit version of Chrome Driver instead. (114.0.5735.90)
Starting ChromeDriver 114.0.5735.90 (386bc09e8f4f2e025eddae123f36f6263096ae49-refs/branch-heads/5735@{#1052}) on port 18904
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
...
[ERROR] java.lang.RuntimeException: 
Unable to instantiate Drone via org.openqa.selenium.chrome.ChromeDriver(ChromeDriverService,ChromeOptions): org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 117.0.5938.132 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe 
Host info: host: 'USERNAME', ip: '192.168.178.101'
Build info: version: '4.13.0', revision: 'ba948ece5b*'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_381'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [--remote-allow-origins=*], extensions: []}}]}]
Caused by: org.openqa.selenium.SessionNotCreatedException: 
Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 117.0.5938.132 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe 
Host info: host: 'USERNAME', ip: '192.168.178.101'
Build info: version: '4.13.0', revision: 'ba948ece5b*'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_381'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [--remote-allow-origins=*], extensions: []}}]}]

The reason seems to be that the download location has changed: https://chromedriver.chromium.org/downloads/version-selection

I am not sure whether this is already reported, but did not find the stacktrace.
Maybe no longer relevant if #359 is done?

Chrome driver 64-bit might not be available for Windows

Issue Overview

It's not possible to fetch the Chrome driver for Windows machines due to the fact, there's only provided 32-bit version of the driver and Drone is seeking for the 64-bit version. However, the 32-bit version should be compatible to 64-bit browsers and machines [1].

[1] https://bugs.chromium.org/p/chromedriver/issues/detail?id=1797#c1

Solution

Solution for that would be that if the 64-bit WebDriver for Windows is not found, it'd try to fetch the 32-bit version of it.

Provided Chrome Drivers

 <Contents>
<Key>96.0.4664.18/chromedriver_linux64.zip</Key>
<Generation>1635142532134035</Generation>
<MetaGeneration>1</MetaGeneration>
<LastModified>2021-10-25T06:15:32.167Z</LastModified>
<ETag>"e8b409daf617e69cbf9a325606d65375"</ETag>
<Size>9981693</Size>
</Contents>
<Contents>
<Key>96.0.4664.18/chromedriver_mac64.zip</Key>
<Generation>1635142534339256</Generation>
<MetaGeneration>1</MetaGeneration>
<LastModified>2021-10-25T06:15:34.371Z</LastModified>
<ETag>"6ce0a3b645e8bc4d0baf4d21fd0fa902"</ETag>
<Size>8232190</Size>
</Contents>
<Contents>
<Key>96.0.4664.18/chromedriver_mac64_m1.zip</Key>
<Generation>1635142536513349</Generation>
<MetaGeneration>1</MetaGeneration>
<LastModified>2021-10-25T06:15:36.546Z</LastModified>
<ETag>"87b3bf1f8bac7df115930330b3eaf6a9"</ETag>
<Size>7787623</Size>
</Contents>
<Contents>
<Key>96.0.4664.18/chromedriver_win32.zip</Key>
<Generation>1635142538618432</Generation>
<MetaGeneration>1</MetaGeneration>
<LastModified>2021-10-25T06:15:38.651Z</LastModified>
<ETag>"5201972f802fcb345fc93cb4ee117683"</ETag>
<Size>6073766</Size>
</Contents>

Error

Caused by: org.jboss.arquillian.drone.webdriver.binary.downloading.source.MissingBinaryException: There wasn't found any binary with the key matching regex \Q96.0.4664.45/chromedriver_win64.zip\E in the storage: https://chromedriver.storage.googleapis.com/
	at org.jboss.arquillian.drone.webdriver.binary.downloading.source.XmlStorageSource.getReleaseForVersion(XmlStorageSource.java:157)
	at org.jboss.arquillian.drone.webdriver.binary.downloading.source.XmlStorageSource.getLatestRelease(XmlStorageSource.java:82)
	at org.jboss.arquillian.drone.webdriver.binary.downloading.source.XmlStorageSource.getLatestRelease(XmlStorageSource.java:75)
	at org.jboss.arquillian.drone.webdriver.binary.handler.AbstractBinaryHandler.downloadAndPrepare(AbstractBinaryHandler.java:175)
	at org.jboss.arquillian.drone.webdriver.binary.handler.AbstractBinaryHandler.checkAndSetBinary(AbstractBinaryHandler.java:61)
	... 12 more

Why is "DroneConfiguration.configure" deprecated?

When doing changes in the "arquillian-extension-warp", I noticed a compilation warning in file https://github.com/arquillian/arquillian-extension-warp/blob/master/build/resources/src/main/java/org/arquillian/warp/ftest/configuration/IntegrationTestConfiguration.java:

IntegrationTestConfiguration.java:[92,41] configure(org.jboss.arquillian.config.descriptor.api.ArquillianDescriptor,java.lang.Class<? extends java.lang.annotation.Annotation>) in org.jboss.arquillian.drone.spi.DroneConfiguration has been deprecated

Interestingly, this is not reported in Eclipse, only during a maven build.

All implementations of this interface in the drone extension still use this method (MockDroneConfiguration.java, WebDriverConfiguration.java).

Is the deprecation intendend? I think it makes no sense to deprecate just an interface method, but not the whole interface ;-)? Is there any replacement?
This was introduced by commit #48d3c38d1829e5b1c8f8229d599ac424feb2939e

Not able to initialize the drone after we use "-Darquillian.drone.skip.creation=true" in maven command

Issue Overview

Null Pointer Exception when trying to access drone instance inside a method after starting the test with arquillian.drone.skip.creation=true. Looks like if we skip drone initialization in lifecycle we can never initialize it again.

Expected Behaviour

we can initialize the drone instance anywhere after starting the test .

Additional Information

We are using cukespace to enable BDD support . All our tests are structured in following way :--

  1. Setup the test data

  2. Execute the test

  3. Clean the test data

  4. Generate the report

Now we were trying not to start the drone in step 1, hence passed the arquillian.drone.skip.creation=true in command line . But when we try to start drone in Step 2 , driver object is null.

Graphene features does not work in Firefox.

Finding element by using JQuery selector throws error in Firefox. (Works great in Chrome).

ByJQuery.selector("div.myclass");

Caused by: java.lang.IllegalStateException: Can't invoke the javacript org.jboss.arquillian.graphene.findby.JQuerySearchContext#findElements()
	at org.jboss.arquillian.graphene.javascript.DefaultExecutionResolver.execute(DefaultExecutionResolver.java:84)
	at org.jboss.arquillian.graphene.javascript.JSInterfaceHandler.intercept(JSInterfaceHandler.java:58)
	at org.jboss.arquillian.graphene.cglib.ClassImposterizer$ClassWithSuperclassToWorkAroundCglibBug$$EnhancerByGraphene$$8b8b57ce.findElements(<generated>)
	at org.jboss.arquillian.graphene.findby.ByJQueryImpl.findElements(ByJQueryImpl.java:65)
	... 95 more
Caused by: java.lang.RuntimeException: org.openqa.selenium.JavascriptException: ReferenceError: Graphene is not defined
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:01:39.354Z'
System info: host: 'VINSWW-4SQXJS1', ip: '10.11.12.113', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_73'
Driver info: org.jboss.arquillian.drone.webdriver.factory.remote.reusable.ReusableRemoteWebDriver
Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 57.0.1, droneAugmented: ReusableRemoteWebDriver: fi..., javascriptEnabled: true, moz:accessibilityChecks: false, moz:headless: false, moz:processID: 385, moz:profile: /tmp/rust_mozprofile.gNTNLL..., moz:webdriverClick: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, platformVersion: 4.2.0-35-generic, rotatable: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}}
Session ID: 13a8bbbb-b589-41c7-88bc-06e76e58c756
	at org.jboss.arquillian.graphene.javascript.JavaScriptUtils.execute(JavaScriptUtils.java:49)
	at org.jboss.arquillian.graphene.javascript.DefaultExecutionResolver.executeScriptForCall(DefaultExecutionResolver.java:139)
	at org.jboss.arquillian.graphene.javascript.DefaultExecutionResolver.execute(DefaultExecutionResolver.java:78)

Multiple instances of chrome.exe on windows

Issue Overview

we are running mvn project on a remote windows machine using jenkins, mvn profile in pom.xml has below configurations for parallel testing

<forkCount>5</forkCount>
 <reuseForks>false</reuseForks>

remote machine is displaying 5 instances of chromedriver and 25 instances of chrome, which is not the case in my MAC OSX.

screen shot 2017-06-19 at 2 17 23 pm

Expected Behaviour

5 instances of chromedriver and 5 instances of chrome.

Jenkins Details

Jenkins is running as a service on remote machine

Remote Machine Details

Windows Server 2012 R2 Standard

Additional Information

below are my pom.xml details


<dependencyManagement>

        <dependencies>

            <!-- Arquillian Core dependencies -->
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>1.1.13.Final</version>
                <type>pom</type>
                <scope>import</scope>
                <exclusions><exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion></exclusions>

            </dependency>
            <!-- Arquillian Drone dependencies and WebDriver/Selenium dependencies -->
            <dependency>
                <groupId>org.jboss.arquillian.extension</groupId>
                <artifactId>arquillian-drone-bom</artifactId>
                <version>2.1.2</version>
                <type>pom</type>
                <scope>import</scope>
                <exclusions><exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion></exclusions>
            </dependency>
            <dependency>
                <groupId>org.arquillian.rusheye</groupId>
                <artifactId>rusheye-impl</artifactId>
                <version>1.0.0</version>
            </dependency>
        </dependencies>

    </dependencyManagement>
    <dependencies>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>21.0</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.graphene</groupId>
            <artifactId>graphene-webdriver</artifactId>
            <version>2.2.1</version>
            <type>pom</type>
            <scope>test</scope>
        </dependency>
         .
         .
        .
 </dependencies>

Mac M1 ChromeDriver URL Changed

Issue Overview

Download link should be https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_mac_arm64.zip

Currently, it uses https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_mac64_m1.zip.

See here available options here: https://chromedriver.storage.googleapis.com/index.html?path=114.0.5735.90/

Expected Behaviour
  • Download should work.
Current Behaviour
  • Download fails.
Steps To Reproduce

Occurs on M1 Mac. See stack below.

Additional Information

Looks like the filename is generated here:

public String getFileNameRegexToDownload(String version, Architecture architecture) {
final StringBuilder fileName = new StringBuilder(version);
fileName.append("/");
fileName.append("chromedriver_");
if (PlatformUtils.isMac()) {
fileName.append("mac");
} else if (PlatformUtils.isWindows()) {
fileName.append("win");
} else if (PlatformUtils.isUnix()) {
fileName.append("linux");
}
fileName.append(architecture.getValue());
if (PlatformUtils.isMacAppleSilicon()) {
fileName.append("_m1");
}
return fileName.append(".zip").toString();
}

java.lang.IllegalStateException: Something bad happened when Drone was trying to download and prepare a binary. For more information see the cause.
	at org.jboss.arquillian.drone.webdriver.binary.handler.AbstractBinaryHandler.checkAndSetBinary(AbstractBinaryHandler.java:63)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.getCapabilities(ChromeDriverFactory.java:105)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.getChromeOptions(ChromeDriverFactory.java:124)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.getChromeOptions(ChromeDriverFactory.java:120)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:79)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:42)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:127)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:38)
	at org.jboss.arquillian.drone.impl.DroneConfigurator$1.createInstance(DroneConfigurator.java:112)
	at org.jboss.arquillian.drone.impl.CachingCallableImpl.call(CachingCallableImpl.java:44)
	at org.jboss.arquillian.core.impl.threading.ThreadedExecutorService$ContextualCallable.call(ThreadedExecutorService.java:88)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.jboss.arquillian.drone.webdriver.binary.downloading.source.MissingBinaryException: There wasn't found any binary on the url: https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_mac64_m1.zip
	at org.jboss.arquillian.drone.webdriver.binary.handler.ChromeDriverBinaryHandler$ChromeStorageSources.getLatestRelease(ChromeDriverBinaryHandler.java:129)
	at org.jboss.arquillian.drone.webdriver.binary.downloading.source.UrlStorageSource.getLatestRelease(UrlStorageSource.java:59)
	at org.jboss.arquillian.drone.webdriver.binary.handler.AbstractBinaryHandler.downloadAndPrepare(AbstractBinaryHandler.java:175)
	at org.jboss.arquillian.drone.webdriver.binary.handler.AbstractBinaryHandler.checkAndSetBinary(AbstractBinaryHandler.java:61)
	... 14 more

why "Drone"?

Hi people, why the new name is "Drone"? It is confused.

I'm use version 1.1.5.Final

Chrome version - 116 is not getting launched through Drone.

Hi Team,

I have implemented arquillian framework to create an automation framework. Recently, Chrome got updated to version 116 and after that I have found that chrome is not getting launched through Drone.

Mentioned below is the trace that I have got during the execution. Can anyone pls resolve this issue?

Please let me know if anyone is having work around for this issue?

Caused by: org.jboss.arquillian.graphene.enricher.exception.PageFragmentInitializationException: org.jboss.arquillian.graphene.enricher.exception.PageFragmentInitializationException: java.lang.RuntimeException: Unable to instantiate Drone via org.openqa.selenium.chrome.ChromeDriver(Capabilities): org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 116.0.5845.111 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:24:21.231Z'
System info: host: 'XXXXXX', ip: 'XXXXXX', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.19'
Driver info: driver.version: ChromeDriver
remote stacktrace: Backtrace:
GetHandleVerifier [0x00F0A813+48355]
(No symbol) [0x00E9C4B1]
(No symbol) [0x00DA5358]
(No symbol) [0x00DC61AC]
(No symbol) [0x00DC1EF3]
(No symbol) [0x00DC0579]
(No symbol) [0x00DF0C55]
(No symbol) [0x00DF093C]
(No symbol) [0x00DEA536]
(No symbol) [0x00DC82DC]
(No symbol) [0x00DC93DD]
GetHandleVerifier [0x0116AABD+2539405]
GetHandleVerifier [0x011AA78F+2800735]
GetHandleVerifier [0x011A456C+2775612]
GetHandleVerifier [0x00F951E0+616112]
(No symbol) [0x00EA5F8C]
(No symbol) [0x00EA2328]
(No symbol) [0x00EA240B]
(No symbol) [0x00E94FF7]
BaseThreadInitThunk [0x75AF00C9+25]
RtlGetAppContainerNamedObjectPath [0x77817B1E+286]
RtlGetAppContainerNamedObjectPath [0x77817AEE+238]

at org.jboss.arquillian.graphene.enricher.PageFragmentEnricher.createPageFragment(PageFragmentEnricher.java:178)
at org.jboss.arquillian.graphene.enricher.PageFragmentEnricher.setupPageFragment(PageFragmentEnricher.java:231)
at org.jboss.arquillian.graphene.enricher.PageFragmentEnricher.enrich(PageFragmentEnricher.java:86)
at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.enrichRecursively(AbstractSearchContextEnricher.java:73)
at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.setupPage(PageObjectEnricher.java:148)
at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.createPage(PageObjectEnricher.java:101)
... 63 more

Caused by: org.jboss.arquillian.graphene.enricher.exception.PageFragmentInitializationException: java.lang.RuntimeException: Unable to instantiate Drone via org.openqa.selenium.chrome.ChromeDriver(Capabilities): org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 116.0.5845.111 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:24:21.231Z'
System info: host: 'KJHA-HP440-R', ip: '10.212.136.53', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.19'
Driver info: driver.version: ChromeDriver
remote stacktrace: Backtrace:
GetHandleVerifier [0x00F0A813+48355]
(No symbol) [0x00E9C4B1]
(No symbol) [0x00DA5358]
(No symbol) [0x00DC61AC]
(No symbol) [0x00DC1EF3]
(No symbol) [0x00DC0579]
(No symbol) [0x00DF0C55]
(No symbol) [0x00DF093C]
(No symbol) [0x00DEA536]
(No symbol) [0x00DC82DC]
(No symbol) [0x00DC93DD]
GetHandleVerifier [0x0116AABD+2539405]
GetHandleVerifier [0x011AA78F+2800735]
GetHandleVerifier [0x011A456C+2775612]
GetHandleVerifier [0x00F951E0+616112]
(No symbol) [0x00EA5F8C]
(No symbol) [0x00EA2328]
(No symbol) [0x00EA240B]
(No symbol) [0x00E94FF7]
BaseThreadInitThunk [0x75AF00C9+25]
RtlGetAppContainerNamedObjectPath [0x77817B1E+286]
RtlGetAppContainerNamedObjectPath [0x77817AEE+238]

at org.jboss.arquillian.graphene.enricher.PageFragmentEnricher.createPageFragment(PageFragmentEnricher.java:178)
at org.jboss.arquillian.graphene.enricher.PageFragmentEnricher.setupPageFragment(PageFragmentEnricher.java:231)
at org.jboss.arquillian.graphene.enricher.PageFragmentEnricher.enrich(PageFragmentEnricher.java:86)
at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.enrichRecursively(AbstractSearchContextEnricher.java:73)
at org.jboss.arquillian.graphene.enricher.PageFragmentEnricher.createPageFragment(PageFragmentEnricher.java:163)
... 68 more

Caused by: java.lang.RuntimeException: Unable to instantiate Drone via org.openqa.selenium.chrome.ChromeDriver(Capabilities): org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 116.0.5845.111 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:24:21.231Z'
System info: host: 'XXXXXX', ip: 'XXXXXX', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.19'
Driver info: driver.version: ChromeDriver
remote stacktrace: Backtrace:
GetHandleVerifier [0x00F0A813+48355]
(No symbol) [0x00E9C4B1]
(No symbol) [0x00DA5358]
(No symbol) [0x00DC61AC]
(No symbol) [0x00DC1EF3]
(No symbol) [0x00DC0579]
(No symbol) [0x00DF0C55]
(No symbol) [0x00DF093C]
(No symbol) [0x00DEA536]
(No symbol) [0x00DC82DC]
(No symbol) [0x00DC93DD]
GetHandleVerifier [0x0116AABD+2539405]
GetHandleVerifier [0x011AA78F+2800735]
GetHandleVerifier [0x011A456C+2775612]
GetHandleVerifier [0x00F951E0+616112]
(No symbol) [0x00EA5F8C]
(No symbol) [0x00EA2328]
(No symbol) [0x00EA240B]
(No symbol) [0x00E94FF7]
BaseThreadInitThunk [0x75AF00C9+25]
RtlGetAppContainerNamedObjectPath [0x77817B1E+286]
RtlGetAppContainerNamedObjectPath [0x77817AEE+238]

at org.jboss.arquillian.drone.webdriver.factory.SecurityActions.newInstance(SecurityActions.java:166)
at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:82)
at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:42)
at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:127)
at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:38)
at org.jboss.arquillian.drone.impl.DroneConfigurator$1.createInstance(DroneConfigurator.java:112)
at org.jboss.arquillian.drone.impl.CachingCallableImpl.call(CachingCallableImpl.java:44)
at org.jboss.arquillian.core.impl.threading.ThreadedExecutorService$ContextualCallable.call(ThreadedExecutorService.java:88)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)

Caused by: org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 116.0.5845.111 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:24:21.231Z'
System info: host: 'XXXXXX', ip: 'XXXXXX', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.19'
Driver info: driver.version: ChromeDriver
remote stacktrace: Backtrace:
GetHandleVerifier [0x00F0A813+48355]
(No symbol) [0x00E9C4B1]
(No symbol) [0x00DA5358]
(No symbol) [0x00DC61AC]
(No symbol) [0x00DC1EF3]
(No symbol) [0x00DC0579]
(No symbol) [0x00DF0C55]
(No symbol) [0x00DF093C]
(No symbol) [0x00DEA536]
(No symbol) [0x00DC82DC]
(No symbol) [0x00DC93DD]
GetHandleVerifier [0x0116AABD+2539405]
GetHandleVerifier [0x011AA78F+2800735]
GetHandleVerifier [0x011A456C+2775612]
GetHandleVerifier [0x00F951E0+616112]
(No symbol) [0x00EA5F8C]
(No symbol) [0x00EA2328]
(No symbol) [0x00EA240B]
(No symbol) [0x00E94FF7]
BaseThreadInitThunk [0x75AF00C9+25]
RtlGetAppContainerNamedObjectPath [0x77817B1E+286]
RtlGetAppContainerNamedObjectPath [0x77817AEE+238]

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new$0(W3CHandshakeResponse.java:57)
at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction$2(W3CHandshakeResponse.java:104)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:147)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.jboss.arquillian.drone.webdriver.factory.SecurityActions.newInstance(SecurityActions.java:144)
... 11 more

Thanks!

Defect in SauceLab extension

Issue Overview

Defect in SauceLab extension. The logic for extracting username and accessKey extraction from Url seems to be defective. It throws error of 'java.lang.StringIndexOutOfBoundsException: String index out of range: -3'

Expected Behaviour

username and accessKey should get parsed out.

Current Behaviour

It throws error of 'java.lang.StringIndexOutOfBoundsException: String index out of range: -3'

Steps To Reproduce
  1. Use the below section of configuration in arquillian.xml and use the latest artifact 2.5.1 of extension.

  2. Start the test and the extension fails at Line # 104 of extension/arquillian-drone-saucelabs-extension/src/main/java/org/arquillian/drone/saucelabs/extension/webdriver/SauceLabsDriverFactory.java

    username = url.substring(url.lastIndexOf("://") + 3, url.indexOf(":"));

Additional Information

Use this configuration :

saucelabs
rsingh_001
/Users/rsing34/Develop/sc
https://rsingh_001:[email protected]:443/wd/hub
123456-123456-123456-123456
true
true
chrome
macOS 10.13
69.0
2.53.0

getLatestVersion() from EdgeDriverBinaryHandler is not working

Issue Overview

When trying to run a test with Edge without using a binary file, Arquillian Drone fails to download the binary due to a change on Microsoft Edge web page

Expected Behaviour

Download the latest Edge binary or the one specified on the maven argument

Current Behaviour

IndexOutOfBounds error for an empty list due to not getting any version from the Microsoft Edge web page

Steps To Reproduce
  1. Launch an Edge test without setting the binary file

Cannot set useAutomationExtension option for chrome

Issue Overview

I would like to set the experimental option "useAutomationExtension" to false.

Expected Behaviour

It should be possible like this:

  <extension qualifier="webdriver">
    <property name="chromeExperimentalOption">
    {
      "useAutomationExtension": "false"
    }
    </property>
  </extension>

Current Behaviour

I get an exception:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at path $
	at com.google.gson.Gson.fromJson(Gson.java:899)
	at com.google.gson.Gson.fromJson(Gson.java:952)
	at org.jboss.arquillian.drone.webdriver.factory.CapabilitiesOptionsMapper.handleDictionaries(CapabilitiesOptionsMapper.java:108)
	at org.jboss.arquillian.drone.webdriver.factory.CapabilitiesOptionsMapper.mapCapabilities(CapabilitiesOptionsMapper.java:86)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.setChromeOptions(ChromeDriverFactory.java:123)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.getCapabilities(ChromeDriverFactory.java:114)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:79)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:41)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:127)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:38)
	at org.jboss.arquillian.drone.impl.DroneConfigurator$1.createInstance(DroneConfigurator.java:112)
	at org.jboss.arquillian.drone.impl.CachingCallableImpl.call(CachingCallableImpl.java:44)
	at org.jboss.arquillian.core.impl.threading.ThreadedExecutorService$ContextualCallable.call(ThreadedExecutorService.java:89)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at path $
	at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:162)
	at com.google.gson.internal.bind.JsonTreeReader.beginObject(JsonTreeReader.java:87)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:183)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
	at com.google.gson.Gson.fromJson(Gson.java:887)
	... 16 more
Starting ChromeDriver 2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810S9tarting ChromeDriver 2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a) on port 47233

Steps To Reproduce

Just add this option.

Additional Information

Debugging the drone code I can see that in the org.jboss.arquillian.drone.webdriver.factory.CapabilitiesOptionsMapper the arguments to
setExperimentalOpion are expected to be maps. Primitives should also be handled in some way.

Can't instantiate Chrome WebDriver 2.30

Issue Overview

When I run the tests using webdriver 2.30 or 2.31 I got the error:

Caused by: org.openqa.selenium.SessionNotCreatedException: session not created exception: Chrome version must be >= 58.0.3029.0

There are no errors when I use chrome driver 2.29.

Expected Behaviour

Chrome should open

Current Behaviour

Chrome is not opening

Steps To Reproduce

Run the provided sample project with mvn clean test

Following is a sample maven project using latest Drone with Graphene:

cdi-crud.zip

Here's the full stacktrace:

Starting ChromeDriver 2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57) on port 18942
Only local connections are allowed.
jul 25, 2017 3:26:37 PM org.jboss.arquillian.core.impl.ObserverImpl resolveArguments
WARNING: Argument 1 for UpdateTestResultBeforeAfter.update is null. It won't be invoked.
jul 25, 2017 3:26:37 PM org.jboss.arquillian.core.impl.ObserverImpl resolveArguments
WARNING: Argument 1 for UpdateTestResultBeforeAfter.update is null. It won't be invoked.

java.lang.RuntimeException: Unable to instantiate Drone via org.openqa.selenium.chrome.ChromeDriver(Capabilities): org.openqa.selenium.SessionNotCreatedException: session not created exception: Chrome version must be >= 58.0.3029.0
  (Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.0-83-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 4.19 seconds
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'pro-pae-4652lnx', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-83-generic', java.version: '1.8.0_121'
Driver info: driver.version: ChromeDriver

	at org.jboss.arquillian.drone.webdriver.factory.SecurityActions.newInstance(SecurityActions.java:166)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:81)
	at org.jboss.arquillian.drone.webdriver.factory.ChromeDriverFactory.createInstance(ChromeDriverFactory.java:41)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:127)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:38)
	at org.jboss.arquillian.drone.impl.DroneConfigurator$1.createInstance(DroneConfigurator.java:112)
	at org.jboss.arquillian.drone.impl.CachingCallableImpl.call(CachingCallableImpl.java:44)
	at org.jboss.arquillian.core.impl.threading.ThreadedExecutorService$ContextualCallable.call(ThreadedExecutorService.java:89)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.openqa.selenium.SessionNotCreatedException: session not created exception: Chrome version must be >= 58.0.3029.0
  (Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.0-83-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 4.19 seconds
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'pro-pae-4652lnx', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-83-generic', java.version: '1.8.0_121'
Driver info: driver.version: ChromeDriver
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:215)
	at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:167)

Here is dependency tree:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building cdi-crud 4.0.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ cdi-crud ---
[INFO] com.cdi.crud:cdi-crud:war:4.0.0
[INFO] +- javax:javaee-api:jar:7.0:provided
[INFO] |  \- com.sun.mail:javax.mail:jar:1.5.0:provided
[INFO] |     \- javax.activation:activation:jar:1.1:provided
[INFO] +- org.primefaces:primefaces:jar:6.1:compile
[INFO] +- com.github.adminfaces:admin-template:jar:1.0.0-RC9:compile
[INFO] |  +- org.omnifaces:omnifaces:jar:2.1:compile
[INFO] |  \- org.slf4j:slf4j-api:jar:1.7.5:compile
[INFO] +- com.github.adminfaces:admin-theme:jar:1.0.0-RC9:compile
[INFO] +- org.hibernate:hibernate-core:jar:5.1.8.Final:provided
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:provided
[INFO] |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:provided
[INFO] |  +- org.javassist:javassist:jar:3.20.0-GA:provided
[INFO] |  +- antlr:antlr:jar:2.7.7:provided
[INFO] |  +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:provided
[INFO] |  +- org.jboss:jandex:jar:2.0.3.Final:provided
[INFO] |  +- com.fasterxml:classmate:jar:1.3.0:provided
[INFO] |  +- dom4j:dom4j:jar:1.6.1:provided
[INFO] |  \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:provided
[INFO] +- org.hibernate:hibernate-validator:jar:5.1.1.Final:provided
[INFO] |  \- javax.validation:validation-api:jar:1.1.0.Final:provided
[INFO] +- org.hibernate:hibernate-entitymanager:jar:5.1.8.Final:provided
[INFO] +- org.apache.deltaspike.core:deltaspike-core-impl:jar:1.8.0:compile
[INFO] +- org.apache.deltaspike.core:deltaspike-core-api:jar:1.8.0:compile
[INFO] +- org.apache.deltaspike.modules:deltaspike-jsf-module-api:jar:1.8.0:compile
[INFO] +- org.apache.deltaspike.modules:deltaspike-jsf-module-impl:jar:1.8.0:compile
[INFO] |  +- org.apache.deltaspike.modules:deltaspike-proxy-module-api:jar:1.8.0:compile
[INFO] |  \- org.apache.deltaspike.modules:deltaspike-proxy-module-impl-asm5:jar:1.8.0:runtime
[INFO] +- org.apache.deltaspike.modules:deltaspike-security-module-api:jar:1.8.0:compile
[INFO] +- org.apache.deltaspike.modules:deltaspike-security-module-impl:jar:1.8.0:runtime
[INFO] +- junit:junit:jar:4.12:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.assertj:assertj-core:jar:2.1.0:test
[INFO] +- org.arquillian.universe:arquillian-junit:pom:1.1.13.5:test
[INFO] |  +- org.arquillian.universe:arquillian-core:pom:1.1.13.5:test
[INFO] |  |  +- org.jboss.shrinkwrap:shrinkwrap-depchain:pom:1.2.6:test
[INFO] |  |  |  \- org.jboss.shrinkwrap:shrinkwrap-spi:jar:1.2.6:test
[INFO] |  |  \- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-depchain:pom:3.0.0-alpha-4:test
[INFO] |  |     +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:jar:3.0.0-alpha-4:test
[INFO] |  |     +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:jar:3.0.0-alpha-4:test
[INFO] |  |     +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:jar:3.0.0-alpha-4:test
[INFO] |  |     |  \- org.apache.maven:maven-model:jar:3.3.9:test
[INFO] |  |     +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:jar:3.0.0-alpha-4:test
[INFO] |  |     +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven-archive:jar:3.0.0-alpha-4:test
[INFO] |  |     +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:jar:3.0.0-alpha-4:test
[INFO] |  |     |  +- org.eclipse.aether:aether-api:jar:1.0.2.v20150114:test
[INFO] |  |     |  +- org.eclipse.aether:aether-impl:jar:1.0.2.v20150114:test
[INFO] |  |     |  +- org.eclipse.aether:aether-spi:jar:1.0.2.v20150114:test
[INFO] |  |     |  +- org.eclipse.aether:aether-util:jar:1.0.2.v20150114:test
[INFO] |  |     |  +- org.eclipse.aether:aether-connector-basic:jar:1.0.2.v20150114:test
[INFO] |  |     |  +- org.eclipse.aether:aether-transport-wagon:jar:1.0.2.v20150114:test
[INFO] |  |     |  +- org.apache.maven:maven-aether-provider:jar:3.3.9:test
[INFO] |  |     |  |  \- org.codehaus.plexus:plexus-component-annotations:jar:1.6:test
[INFO] |  |     |  +- org.apache.maven:maven-model-builder:jar:3.3.9:test
[INFO] |  |     |  |  +- org.apache.maven:maven-artifact:jar:3.3.9:test
[INFO] |  |     |  |  \- org.apache.maven:maven-builder-support:jar:3.3.9:test
[INFO] |  |     |  +- org.apache.maven:maven-repository-metadata:jar:3.3.9:test
[INFO] |  |     |  +- org.apache.maven:maven-settings:jar:3.3.9:test
[INFO] |  |     |  +- org.apache.maven:maven-settings-builder:jar:3.3.9:test
[INFO] |  |     |  +- org.codehaus.plexus:plexus-interpolation:jar:1.21:test
[INFO] |  |     |  +- org.codehaus.plexus:plexus-utils:jar:3.0.22:test
[INFO] |  |     |  +- org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:test
[INFO] |  |     |  |  \- org.sonatype.plexus:plexus-cipher:jar:1.7:test
[INFO] |  |     |  +- org.apache.maven.wagon:wagon-provider-api:jar:2.10:test
[INFO] |  |     |  +- org.apache.maven.wagon:wagon-file:jar:2.10:test
[INFO] |  |     |  |  \- commons-lang:commons-lang:jar:2.6:test
[INFO] |  |     |  \- org.apache.maven.wagon:wagon-http-lightweight:jar:2.10:test
[INFO] |  |     |     \- org.apache.maven.wagon:wagon-http-shared:jar:2.10:test
[INFO] |  |     +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven-archive:jar:3.0.0-alpha-4:test
[INFO] |  |     |  +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven-archive:jar:3.0.0-alpha-4:test
[INFO] |  |     |  +- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.3.2:test
[INFO] |  |     |  |  +- javax.enterprise:cdi-api:jar:1.0:test
[INFO] |  |     |  |  |  +- javax.annotation:jsr250-api:jar:1.0:test
[INFO] |  |     |  |  |  \- javax.inject:javax.inject:jar:1:test
[INFO] |  |     |  |  \- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.3.2:test
[INFO] |  |     |  \- org.codehaus.plexus:plexus-compiler-javac:jar:2.7:test
[INFO] |  |     |     \- org.codehaus.plexus:plexus-compiler-api:jar:2.7:test
[INFO] |  |     +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven-embedded:jar:3.0.0-alpha-4:test
[INFO] |  |     |  \- org.apache.maven.shared:maven-invoker:jar:2.2:test
[INFO] |  |     \- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven-embedded:jar:3.0.0-alpha-4:test
[INFO] |  \- org.jboss.arquillian.junit:arquillian-junit-container:jar:1.1.13.Final:test
[INFO] |     +- org.jboss.arquillian.junit:arquillian-junit-core:jar:1.1.13.Final:test
[INFO] |     +- org.jboss.arquillian.test:arquillian-test-api:jar:1.1.13.Final:test
[INFO] |     |  \- org.jboss.arquillian.core:arquillian-core-api:jar:1.1.13.Final:test
[INFO] |     +- org.jboss.arquillian.test:arquillian-test-spi:jar:1.1.13.Final:test
[INFO] |     +- org.jboss.arquillian.core:arquillian-core-impl-base:jar:1.1.13.Final:test
[INFO] |     +- org.jboss.arquillian.test:arquillian-test-impl-base:jar:1.1.13.Final:test
[INFO] |     +- org.jboss.arquillian.container:arquillian-container-impl-base:jar:1.1.13.Final:test
[INFO] |     \- org.jboss.shrinkwrap:shrinkwrap-impl-base:jar:1.2.6:test
[INFO] +- org.jboss.arquillian.protocol:arquillian-protocol-servlet:jar:1.1.13.Final:test
[INFO] |  +- org.jboss.arquillian.container:arquillian-container-spi:jar:1.1.13.Final:test
[INFO] |  |  +- org.jboss.arquillian.core:arquillian-core-spi:jar:1.1.13.Final:test
[INFO] |  |  +- org.jboss.arquillian.config:arquillian-config-api:jar:1.1.13.Final:test
[INFO] |  |  +- org.jboss.arquillian.config:arquillian-config-impl-base:jar:1.1.13.Final:test
[INFO] |  |  +- org.jboss.shrinkwrap:shrinkwrap-api:jar:1.2.6:test
[INFO] |  |  \- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-api-base:jar:2.0.0:test
[INFO] |  +- org.jboss.arquillian.container:arquillian-container-test-api:jar:1.1.13.Final:test
[INFO] |  +- org.jboss.arquillian.container:arquillian-container-test-spi:jar:1.1.13.Final:test
[INFO] |  +- org.jboss.arquillian.container:arquillian-container-test-impl-base:jar:1.1.13.Final:test
[INFO] |  \- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-spi:jar:2.0.0:test
[INFO] +- org.arquillian.universe:arquillian-graphene:pom:1.1.13.5:test
[INFO] |  +- org.arquillian.universe:arquillian-drone:pom:1.1.13.5:test
[INFO] |  |  +- org.seleniumhq.selenium:selenium-api:jar:3.4.0:test
[INFO] |  |  +- org.seleniumhq.selenium:selenium-java:jar:3.4.0:test
[INFO] |  |  |  +- org.seleniumhq.selenium:selenium-chrome-driver:jar:3.4.0:test
[INFO] |  |  |  +- org.seleniumhq.selenium:selenium-edge-driver:jar:3.4.0:test
[INFO] |  |  |  +- org.seleniumhq.selenium:selenium-firefox-driver:jar:3.4.0:test
[INFO] |  |  |  +- org.seleniumhq.selenium:selenium-ie-driver:jar:3.4.0:test
[INFO] |  |  |  +- org.seleniumhq.selenium:selenium-opera-driver:jar:3.4.0:test
[INFO] |  |  |  +- org.seleniumhq.selenium:selenium-remote-driver:jar:3.4.0:test
[INFO] |  |  |  +- org.seleniumhq.selenium:selenium-safari-driver:jar:3.4.0:test
[INFO] |  |  |  +- cglib:cglib-nodep:jar:3.2.4:test
[INFO] |  |  |  +- org.apache.commons:commons-exec:jar:1.3:test
[INFO] |  |  |  +- org.apache.commons:commons-lang3:jar:3.4:test
[INFO] |  |  |  +- commons-codec:commons-codec:jar:1.10:test
[INFO] |  |  |  +- commons-logging:commons-logging:jar:1.2:test
[INFO] |  |  |  +- org.w3c.css:sac:jar:1.3:test
[INFO] |  |  |  +- net.sourceforge.cssparser:cssparser:jar:0.9.22:test
[INFO] |  |  |  +- com.google.code.gson:gson:jar:2.8.0:test
[INFO] |  |  |  +- net.sourceforge.htmlunit:htmlunit:jar:2.26:test
[INFO] |  |  |  +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.26:test
[INFO] |  |  |  +- net.sourceforge.htmlunit:neko-htmlunit:jar:2.25:test
[INFO] |  |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.3:test
[INFO] |  |  |  +- org.apache.httpcomponents:httpcore:jar:4.4.6:test
[INFO] |  |  |  +- org.apache.httpcomponents:httpmime:jar:4.5.3:test
[INFO] |  |  |  +- org.eclipse.jetty:jetty-io:jar:9.4.1.v20170120:test
[INFO] |  |  |  +- org.eclipse.jetty:jetty-util:jar:9.4.1.v20170120:test
[INFO] |  |  |  +- net.java.dev.jna:jna:jar:4.1.0:test
[INFO] |  |  |  +- net.java.dev.jna:jna-platform:jar:4.1.0:test
[INFO] |  |  |  +- com.codeborne:phantomjsdriver:jar:1.4.1:test
[INFO] |  |  |  +- org.seleniumhq.selenium:htmlunit-driver:jar:2.26:test
[INFO] |  |  |  +- javax.servlet:javax.servlet-api:jar:3.1.0:test
[INFO] |  |  |  +- org.eclipse.jetty.websocket:websocket-api:jar:9.4.3.v20170317:test
[INFO] |  |  |  +- org.eclipse.jetty.websocket:websocket-client:jar:9.4.3.v20170317:test
[INFO] |  |  |  |  \- org.eclipse.jetty:jetty-client:jar:9.4.3.v20170317:test
[INFO] |  |  |  |     \- org.eclipse.jetty:jetty-http:jar:9.4.3.v20170317:test
[INFO] |  |  |  +- org.eclipse.jetty.websocket:websocket-common:jar:9.4.3.v20170317:test
[INFO] |  |  |  +- xalan:serializer:jar:2.7.2:test
[INFO] |  |  |  +- xalan:xalan:jar:2.7.2:test
[INFO] |  |  |  \- xerces:xercesImpl:jar:2.11.0:test
[INFO] |  |  +- org.seleniumhq.selenium:selenium-support:jar:3.4.0:test
[INFO] |  |  \- org.jboss.arquillian.extension:arquillian-drone-webdriver-depchain:pom:2.3.1:test
[INFO] |  |     \- org.jboss.arquillian.extension:arquillian-drone-impl:jar:2.3.1:test
[INFO] |  \- org.jboss.arquillian.graphene:graphene-webdriver:pom:2.2.0:test
[INFO] |     +- org.jboss.arquillian.graphene:graphene-webdriver-api:jar:2.2.0:test
[INFO] |     +- org.jboss.arquillian.graphene:graphene-webdriver-spi:jar:2.2.0:test
[INFO] |     \- org.jboss.arquillian.graphene:graphene-webdriver-impl:jar:2.2.0:test
[INFO] |        +- cglib:cglib:jar:2.2.2:test
[INFO] |        |  \- asm:asm:jar:3.3.1:test
[INFO] |        \- org.objenesis:objenesis:jar:1.2:test
[INFO] +- org.jboss.arquillian.graphene:arquillian-browser-screenshooter:jar:2.3.0:test
[INFO] |  +- org.arquillian.extension:arquillian-recorder-screenshooter-impl-base:jar:1.1.0.Final:test
[INFO] |  |  +- org.arquillian.extension:arquillian-recorder-screenshooter-api:jar:1.1.0.Final:test
[INFO] |  |  |  +- org.arquillian.extension:arquillian-recorder-api:jar:1.1.0.Final:test
[INFO] |  |  |  +- org.arquillian.extension:arquillian-recorder-reporter-api:jar:1.1.0.Final:test
[INFO] |  |  |  |  \- org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.5.1:test
[INFO] |  |  |  |     +- org.eclipse.persistence:org.eclipse.persistence.core:jar:2.5.1:test
[INFO] |  |  |  |     |  \- org.eclipse.persistence:org.eclipse.persistence.asm:jar:2.5.1:test
[INFO] |  |  |  |     \- org.eclipse.persistence:org.eclipse.persistence.antlr:jar:2.5.1:test
[INFO] |  |  |  \- com.jhlabs:filters:jar:2.0.235:test
[INFO] |  |  +- org.arquillian.extension:arquillian-recorder-reporter-impl:jar:1.1.0.Final:test
[INFO] |  |  |  +- org.arquillian.extension:arquillian-recorder-reporter-spi:jar:1.1.0.Final:test
[INFO] |  |  |  \- org.arquillian.extension:arquillian-recorder-video-api:jar:1.1.0.Final:test
[INFO] |  |  \- commons-io:commons-io:jar:1.3.2:test
[INFO] |  +- org.arquillian.extension:arquillian-recorder-screenshooter-spi:jar:1.1.0.Final:test
[INFO] |  |  \- org.arquillian.extension:arquillian-recorder-spi:jar:1.1.0.Final:test
[INFO] |  \- org.jboss.arquillian.extension:arquillian-drone-webdriver:jar:2.3.1:test
[INFO] |     +- org.jboss.arquillian.extension:arquillian-drone-api:jar:2.3.1:test
[INFO] |     +- org.jboss.arquillian.extension:arquillian-drone-spi:jar:2.3.1:test
[INFO] |     +- org.jboss.arquillian.extension:arquillian-drone-configuration:jar:2.3.1:test
[INFO] |     +- org.arquillian.spacelift:arquillian-spacelift:jar:1.0.0.Alpha9:test
[INFO] |     |  +- org.arquillian.spacelift:arquillian-spacelift-api:jar:1.0.0.Alpha9:test
[INFO] |     |  \- org.apache.commons:commons-compress:jar:1.8.1:test
[INFO] |     +- org.jsoup:jsoup:jar:1.8.3:test
[INFO] |     \- org.awaitility:awaitility:jar:3.0.0:test
[INFO] |        \- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] +- org.arquillian.universe:arquillian-chameleon:pom:1.1.13.5:test
[INFO] |  \- org.arquillian.container:arquillian-container-chameleon:jar:1.0.0.Beta2:test
[INFO] |     +- org.arquillian.container:arquillian-chameleon-container-model:jar:1.0.0.Beta2:test
[INFO] |     +- org.jboss.arquillian.testenricher:arquillian-testenricher-ejb:jar:1.1.13.Final:test
[INFO] |     +- org.jboss.arquillian.testenricher:arquillian-testenricher-resource:jar:1.1.13.Final:test
[INFO] |     +- org.jboss.arquillian.testenricher:arquillian-testenricher-cdi:jar:1.1.13.Final:test
[INFO] |     \- org.jboss.arquillian.testenricher:arquillian-testenricher-initialcontext:jar:1.1.13.Final:test
[INFO] +- com.google.guava:guava:jar:21.0:test
[INFO] \- xml-apis:xml-apis:jar:1.4.01:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.257 s
[INFO] Finished at: 2017-07-25T15:25:10-03:00
[INFO] Final Memory: 22M/344M
[INFO] ------------------------------------------------------------------------

Not able to launch Firefox version 53 and 54 .

Issue Overview

Tests are not able to launch firefox version 53 and version 54, same test work fine in firefox 52.0

Expected Behaviour

should launch firefox 54

Current Behaviour

Tests are not running on firefox 54 .

Additional Information

Anything relevant to help us resolving the problem. For example if you are using mvn you can share output for mvn --version as well as dependencies in use mvn dependency:tree. OS as well as JDK version would be helpful too.

For long outputs such as stacktraces please use HTML5 <details>

system details

Mac OSX 10.12.2

pom.xml details
<dependencyManagement>

        <dependencies>

            <!-- Arquillian Core dependencies -->
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>1.1.13.Final</version>
                <type>pom</type>
                <scope>import</scope>
                <exclusions><exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion></exclusions>

            </dependency>
            <!-- Arquillian Drone dependencies and WebDriver/Selenium dependencies -->
            <dependency>
                <groupId>org.jboss.arquillian.extension</groupId>
                <artifactId>arquillian-drone-bom</artifactId>
                <version>2.2.0</version>
                <type>pom</type>
                <scope>import</scope>
                <exclusions><exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion></exclusions>
            </dependency>
            <dependency>
                <groupId>org.arquillian.rusheye</groupId>
                <artifactId>rusheye-impl</artifactId>
                <version>1.0.0</version>
            </dependency>
        </dependencies>

    </dependencyManagement>
    <dependencies>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>21.0</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.graphene</groupId>
            <artifactId>graphene-webdriver</artifactId>
            <version>2.2.1</version>
            <type>pom</type>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.arquillian.junit</groupId>
            <artifactId>arquillian-junit-standalone</artifactId>
            <version>${arquillian.version}</version>
            <scope>test</scope>

        </dependency>
.
.
.
.
  </dependencies>
debug logs

Jun 29, 2017 9:08:47 AM org.jboss.arquillian.drone.webdriver.factory.remote.reusable.ReusedSessionPermanentFileStorage readStore
INFO: Reused session store is not available at /Users/ubishpu/.drone-webdriver-session-store, a new one will be created.
Jun 29, 2017 9:08:47 AM org.jboss.arquillian.drone.impl.DroneTestEnricher ensureInjectionPointPrepared
WARNING: Injection point DronePointImpl{droneClass=interface org.openqa.selenium.WebDriver, annotations=[@org.jboss.arquillian.drone.api.annotation.Drone()], lifecycle=CLASS} was not prepared yet. It will be prepared now, but it's recommended that all drones with class lifecycle are prepared in @BeforeClass by the DroneLifecycleManager!
1498745329181 geckodriver INFO Listening on 127.0.0.1:26587
1498745329434 geckodriver::marionette INFO Starting browser /Applications/Firefox.app/Contents/MacOS/firefox-bin with args ["-marionette"]
1498745329667 addons.manager DEBUG Application has been upgraded
1498745329693 addons.manager DEBUG Loaded provider scope for resource://gre/modules/addons/XPIProvider.jsm: ["XPIProvider"]
1498745329695 addons.manager DEBUG Loaded provider scope for resource://gre/modules/LightweightThemeManager.jsm: ["LightweightThemeManager"]
1498745329698 addons.manager DEBUG Loaded provider scope for resource://gre/modules/addons/GMPProvider.jsm
1498745329701 addons.manager DEBUG Loaded provider scope for resource://gre/modules/addons/PluginProvider.jsm
1498745329702 addons.manager DEBUG Starting provider: XPIProvider
1498745329702 addons.xpi DEBUG startup
1498745329703 addons.xpi INFO Removing all system add-on upgrades.
1498745329703 addons.xpi INFO SystemAddonInstallLocation directory is missing
1498745329704 addons.xpi INFO Mapping [email protected] to /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329704 addons.xpi INFO Mapping [email protected] to /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329705 addons.xpi INFO Mapping [email protected] to /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329705 addons.xpi INFO Mapping [email protected] to /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329705 addons.xpi INFO Mapping [email protected] to /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329705 addons.xpi INFO Mapping {972ce4c6-7e08-4474-a285-3208198ce6fd} to /Applications/Firefox.app/Contents/Resources/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
1498745329706 addons.xpi DEBUG checkForChanges
1498745329706 addons.xpi INFO SystemAddonInstallLocation directory is missing
1498745329706 addons.xpi DEBUG Loaded add-on state from prefs: {}
1498745329707 addons.xpi DEBUG New add-on [email protected] in app-system-defaults
1498745329708 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329708 addons.xpi DEBUG New add-on [email protected] in app-system-defaults
1498745329709 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329709 addons.xpi DEBUG New add-on [email protected] in app-system-defaults
1498745329710 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329710 addons.xpi DEBUG New add-on [email protected] in app-system-defaults
1498745329710 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329710 addons.xpi DEBUG New add-on [email protected] in app-system-defaults
1498745329711 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329711 addons.xpi DEBUG New add-on {972ce4c6-7e08-4474-a285-3208198ce6fd} in app-global
1498745329711 addons.xpi DEBUG getModTime: Recursive scan of {972ce4c6-7e08-4474-a285-3208198ce6fd}
1498745329711 addons.xpi DEBUG getInstallState changed: true, state: {"app-system-defaults":{"[email protected]":{"d":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","st":1496948382000},"[email protected]":{"d":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","st":1496948382000},"[email protected]":{"d":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","st":1496948382000},"[email protected]":{"d":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","st":1496948383000},"[email protected]":{"d":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","st":1496948383000}},"app-global":{"{972ce4c6-7e08-4474-a285-3208198ce6fd}":{"d":"/Applications/Firefox.app/Contents/Resources/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","st":1496948382000}}}
1498745329719 addons.xpi-utils DEBUG Opening XPI database /var/folders/0v/9tqxsqpn38n64cwv8b6mdh9w3d7_zq/T/rust_mozprofile.Vpw2ILYUh1wM/extensions.json
1498745329720 addons.xpi-utils DEBUG New add-on [email protected] installed in app-system-defaults
*** Blocklist::_loadBlocklistFromFile: blocklist is disabled
1498745329728 DeferredSave.extensions.json DEBUG Save changes
1498745329728 addons.xpi-utils DEBUG New add-on [email protected] installed in app-system-defaults
1498745329731 DeferredSave.extensions.json DEBUG Starting timer
1498745329735 DeferredSave.extensions.json DEBUG Save changes
1498745329735 addons.xpi-utils DEBUG New add-on [email protected] installed in app-system-defaults
1498745329740 DeferredSave.extensions.json DEBUG Save changes
1498745329740 addons.xpi-utils DEBUG New add-on [email protected] installed in app-system-defaults
1498745329745 DeferredSave.extensions.json DEBUG Save changes
1498745329747 addons.xpi-utils DEBUG New add-on [email protected] installed in app-system-defaults
1498745329755 DeferredSave.extensions.json DEBUG Save changes
1498745329755 addons.xpi-utils DEBUG New add-on {972ce4c6-7e08-4474-a285-3208198ce6fd} installed in app-global
1498745329759 DeferredSave.extensions.json DEBUG Save changes
1498745329760 addons.manager DEBUG Registering startup change 'installed' for [email protected]
1498745329767 addons.xpi DEBUG Loading bootstrap scope from /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329771 addons.xpi DEBUG Calling bootstrap method install on [email protected] version 2.0
1498745329771 addons.xpi-utils DEBUG Make addon app-system-defaults:[email protected] visible
1498745329772 DeferredSave.extensions.json DEBUG Save changes
1498745329772 addons.manager DEBUG Registering startup change 'installed' for [email protected]
1498745329773 addons.xpi DEBUG Loading bootstrap scope from /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329774 addons.xpi DEBUG Calling bootstrap method install on [email protected] version 1.50
1498745329775 addons.xpi-utils DEBUG Make addon app-system-defaults:[email protected] visible
1498745329776 DeferredSave.extensions.json DEBUG Save changes
1498745329776 addons.manager DEBUG Registering startup change 'installed' for [email protected]
1498745329776 addons.xpi DEBUG Loading bootstrap scope from /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329779 addons.xpi DEBUG Calling bootstrap method install on [email protected] version 1.0.5
1498745329779 addons.xpi-utils DEBUG Make addon app-system-defaults:[email protected] visible
1498745329780 DeferredSave.extensions.json DEBUG Save changes
1498745329780 addons.manager DEBUG Registering startup change 'installed' for [email protected]
1498745329780 addons.xpi DEBUG Loading bootstrap scope from /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329782 addons.xpi DEBUG Calling bootstrap method install on [email protected] version 6.6.0
1498745329782 addons.xpi-utils DEBUG Make addon app-system-defaults:[email protected] visible
1498745329783 DeferredSave.extensions.json DEBUG Save changes
1498745329783 addons.manager DEBUG Registering startup change 'installed' for [email protected]
1498745329784 addons.xpi DEBUG Loading bootstrap scope from /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329787 addons.xpi DEBUG Calling bootstrap method install on [email protected] version 1.1
1498745329787 addons.xpi-utils DEBUG Make addon app-system-defaults:[email protected] visible
1498745329788 DeferredSave.extensions.json DEBUG Save changes
1498745329788 addons.xpi-utils DEBUG Make addon app-global:{972ce4c6-7e08-4474-a285-3208198ce6fd} visible
1498745329789 DeferredSave.extensions.json DEBUG Save changes
1498745329789 addons.xpi DEBUG Updating XPIState for {"id":"[email protected]","syncGUID":"{92412f8d-ffea-a44b-b263-24cff640cfcf}","location":"app-system-defaults","version":"2.0","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Application Update Service Helper","description":"Sets value(s) in the update url based on custom checks.","creator":null,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","installDate":1496948382000,"updateDate":1496948382000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":8486,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"54.0","maxVersion":"54."}],"targetPlatforms":[],"multiprocessCompatible":true,"seen":true,"dependencies":[],"hasEmbeddedWebExtension":false,"mpcOptedOut":false,"userPermissions":null}
1498745329789 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329790 addons.xpi DEBUG Updating XPIState for {"id":"[email protected]","syncGUID":"{7be61400-711b-f941-8dfd-ee98bf02c1b3}","location":"app-system-defaults","version":"1.50","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Multi-process staged rollout","description":"Staged rollout of Firefox multi-process feature.","creator":null,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","installDate":1496948382000,"updateDate":1496948382000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":12517,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"54.0","maxVersion":"54.
"}],"targetPlatforms":[],"multiprocessCompatible":true,"seen":true,"dependencies":[],"hasEmbeddedWebExtension":false,"mpcOptedOut":false,"userPermissions":null}
1498745329790 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329790 addons.xpi DEBUG Updating XPIState for {"id":"[email protected]","syncGUID":"{360a5895-e5d4-c841-96ba-587e087a13f5}","location":"app-system-defaults","version":"1.0.5","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Pocket","description":"When you find something you want to view later, put it in Pocket.","creator":null,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","installDate":1496948382000,"updateDate":1496948382000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":913904,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"54.0","maxVersion":"54."}],"targetPlatforms":[],"multiprocessCompatible":true,"seen":true,"dependencies":[],"hasEmbeddedWebExtension":false,"mpcOptedOut":false,"userPermissions":null}
1498745329790 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329791 addons.xpi DEBUG Updating XPIState for {"id":"[email protected]","syncGUID":"{55e6309f-4cba-7e48-b9bf-45435894e48e}","location":"app-system-defaults","version":"6.6.0","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Firefox Screenshots","description":null,"creator":null,"homepageURL":"https://pageshot.net/"},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","installDate":1496948383000,"updateDate":1496948383000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":716271,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"51.0a1","maxVersion":"*"}],"targetPlatforms":[],"multiprocessCompatible":true,"seen":true,"dependencies":[],"hasEmbeddedWebExtension":false,"mpcOptedOut":false,"userPermissions":null}
1498745329791 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329791 addons.xpi DEBUG Updating XPIState for {"id":"[email protected]","syncGUID":"{582e97e5-53f3-3a47-a5d7-f936686be738}","location":"app-system-defaults","version":"1.1","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Web Compat","description":"Urgent post-release fixes for web compatibility.","creator":null,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/Applications/Firefox.app/Contents/Resources/browser/features/[email protected]","installDate":1496948383000,"updateDate":1496948383000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":9004,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"54.0","maxVersion":"54.
"}],"targetPlatforms":[],"multiprocessCompatible":true,"seen":true,"dependencies":[],"hasEmbeddedWebExtension":false,"mpcOptedOut":false,"userPermissions":null}
1498745329791 addons.xpi DEBUG getModTime: Recursive scan of [email protected]
1498745329792 addons.xpi DEBUG Updating XPIState for {"id":"{972ce4c6-7e08-4474-a285-3208198ce6fd}","syncGUID":"{5e03f95e-3f77-f841-8ef5-5130330d0d1f}","location":"app-global","version":"54.0","type":"theme","internalName":"classic/1.0","updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{},"iconURL":"chrome://browser/content/default-theme-icon.svg","icon64URL":null,"defaultLocale":{"name":"Default","description":"The default theme.","creator":"Mozilla","homepageURL":null,"contributors":["Mozilla Contributors"]},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"/Applications/Firefox.app/Contents/Resources/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","installDate":1496948382000,"updateDate":1496948382000,"applyBackgroundUpdates":1,"skinnable":true,"size":3908,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"54.0","maxVersion":"54.0"}],"targetPlatforms":[],"seen":true,"dependencies":[],"hasEmbeddedWebExtension":false,"userPermissions":null}
1498745329792 addons.xpi DEBUG getModTime: Recursive scan of {972ce4c6-7e08-4474-a285-3208198ce6fd}
1498745329792 DeferredSave.extensions.json DEBUG Save changes
1498745329792 addons.xpi DEBUG Updating database with changes to installed add-ons
1498745329792 addons.xpi-utils DEBUG Updating add-on states
1498745329793 addons.xpi-utils DEBUG Writing add-ons list
1498745329794 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329795 addons.xpi DEBUG Calling bootstrap method startup on [email protected] version 2.0
1498745329795 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329796 addons.xpi DEBUG Calling bootstrap method startup on [email protected] version 1.50
1498745329796 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329797 addons.xpi DEBUG Calling bootstrap method startup on [email protected] version 1.0.5
1498745329797 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329798 addons.xpi DEBUG Calling bootstrap method startup on [email protected] version 6.6.0
1498745329798 addons.xpi DEBUG Registering manifest for /Applications/Firefox.app/Contents/Resources/browser/features/[email protected]
1498745329798 addons.xpi DEBUG Calling bootstrap method startup on [email protected] version 1.1
1498745329803 addons.manager DEBUG Registering shutdown blocker for XPIProvider
1498745329804 addons.manager DEBUG Provider finished startup: XPIProvider
1498745329804 addons.manager DEBUG Starting provider: LightweightThemeManager
1498745329804 addons.manager DEBUG Registering shutdown blocker for LightweightThemeManager
1498745329805 addons.manager DEBUG Provider finished startup: LightweightThemeManager
1498745329805 addons.manager DEBUG Starting provider: GMPProvider
1498745329809 addons.manager DEBUG Registering shutdown blocker for GMPProvider
1498745329809 addons.manager DEBUG Provider finished startup: GMPProvider
1498745329809 addons.manager DEBUG Starting provider: PluginProvider
1498745329809 addons.manager DEBUG Registering shutdown blocker for PluginProvider
1498745329809 addons.manager DEBUG Provider finished startup: PluginProvider
1498745329810 addons.manager DEBUG Completed startup sequence
1498745330125 addons.manager DEBUG Starting provider:
1498745330125 addons.manager DEBUG Registering shutdown blocker for
1498745330125 addons.manager DEBUG Provider finished startup:
1498745330146 addons.manager DEBUG Starting provider: PreviousExperimentProvider
1498745330146 addons.manager DEBUG Registering shutdown blocker for PreviousExperimentProvider
1498745330146 addons.manager DEBUG Provider finished startup: PreviousExperimentProvider
1498745330152 DeferredSave.extensions.json DEBUG Starting write
1498745330269 DeferredSave.extensions.json DEBUG Write succeeded
1498745330270 addons.xpi-utils DEBUG XPI Database saved, setting schema version preference to 19
1498745331320 Marionette INFO Listening on port 53284
1498745331402 Marionette WARN TLS certificate errors will be ignored for this session
Jun 29, 2017 9:08:51 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
1498745391169 addons.productaddons INFO sending request to: https://aus5.mozilla.org/update/3/GMP/54.0/20170608105825/Darwin_x86_64-gcc3/en-US/release/Darwin%2016.3.0/default/default/update.xml
1498745391600 addons.productaddons INFO Completed downloading document
1498745392051 addons.productaddons INFO downloadXHR File download. status=200
1498745392054 addons.productaddons INFO Downloaded file will be saved to /private/var/folders/0v/9tqxsqpn38n64cwv8b6mdh9w3d7_zq/T/TemporaryItems/tmpaddon
1498745394620 addons.productaddons INFO downloadXHR File download. status=200
1498745394622 addons.productaddons INFO Downloaded file will be saved to /private/var/folders/0v/9tqxsqpn38n64cwv8b6mdh9w3d7_zq/T/TemporaryItems/tmpaddon
Disconnected from the target VM, address: '127.0.0.1:53199', transport: 'socket'

Release Drone 2.5.7

Arquililan Drone 2.5.7 needs to be released
This is from the v2-support branch

Relative path of firefox binary in arquillian.xml

Hi,
Please help me on providing firefox binary loction as relative path in arquillian.xml.

I have given the absolute path of firefox binary location like below and its working fine:

<extension qualifier="webdriver">
    <property name="browser">${browser}</property>
    <property name="firefox_binary">C://Users//sampath//AppData//Local//Mozilla_Firefox//firefox.exe</property> 
    <property name="remoteAddress">${selenium.hub.address}</property>
    <property name="remote">${remote}</property>
</extension>

I want to give the firefox binary location as relative path like below, but its throwing error ( Firefox binary does not point to a valid executable, .//Mozilla_Firefox//firefox.exe":)":

<extension qualifier="webdriver">
    <property name="browser">${browser}</property>
    <property name="firefox_binary">.//Mozilla_Firefox//firefox.exe</property>
    <property name="remoteAddress">${selenium.hub.address}</property>
    <property name="remote">${remote}</property>
</extension>

Thanks and Regards,
M.Sambath Kumar

Lazy initialization of drone instances and Parallel execution

Lazy Initialization of Drone in Parallel execution

Flag -Darquillian.drone.skip.creation=true will skip initialization of the Drone instances as per the change in Version 2.2.0.
Now imagine we have 220 test cases and each test case update this flag in @before method. This change is global and will be applicable for all the tests whic will execute after current one.

Solution to this problem would be , reset the flag in @after method.

But what about the scenario where we are executing multiple tests in parallel using maven


<forkCount>5</forkCount>
<reuseForks>false</reuseForks>

Firefox does not work without "browserVersion" property

I have an older sample that uses Drone 2.5.2 (and thus Selenium 3.11.0).
Firefox 118.0.1 x64 is installed on my computer.

After upgrading to 3.0.0.Alpha7, there is an error when running the test with "firefox" webdriver - declared in "arquillian.xml" like this (which worked with previous drone version):

    <extension qualifier="webdriver">
        <property name="browser">firefox</property>
    </extension>

The error message is:

java.lang.RuntimeException: 
Unable to instantiate Drone via org.openqa.selenium.firefox.FirefoxDriver(FirefoxOptions): org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: Unable to find a matching set of capabilities
Build info: version: '4.3.0', revision: 'a4995e2c09*'
System info: host: 'MYCOMPUTER', ip: '192.168.178.101', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.8'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Command: [null, newSession {capabilities=[Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: , moz:debuggerAddress: true, moz:firefoxOptions: {}}], desiredCapabilities=Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: , moz:debuggerAddress: true, moz:firefoxOptions: {}, platformName: ANY}}]
Caused by: org.openqa.selenium.SessionNotCreatedException: 
Could not start a new session. Response code 500. Message: Unable to find a matching set of capabilities
Build info: version: '4.3.0', revision: 'a4995e2c09*'
System info: host: 'MYCOMPUTER', ip: '192.168.178.101', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.8'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Command: [null, newSession {capabilities=[Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: , moz:debuggerAddress: true, moz:firefoxOptions: {}}], desiredCapabilities=Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: , moz:debuggerAddress: true, moz:firefoxOptions: {}, platformName: ANY}}]

It works when specifying a browser version (at the time of writing this issue, "118.0.1" is currently installed):

<extension qualifier="webdriver">
    <property name="browser">firefox</property>
    <property name="browserVersion">118</property>
</extension>

It also works with a wildcard (which is probably a good workaround):
<property name="browserVersion">*</property>

I did not find any documentation on this "browserVersion" syntax.

Is this something that has to changed on the user side when updating to 3.0, or is this some kind of regression?

I can provide a sample if necessary.

Firefox instance is started without preferences set via firefoxUserPreferences

Issue Overview

Firefox instance started with fresh profile does not have applied any user preferences configured via firefoxUserPreferences.

Expected Behaviour

Firefox instance started with fresh profile has e.g. "browser.download.folderList" set to value 2 as configured in a file specified in firefoxUserPreferences.

Current Behaviour

Firefox instance started with fresh profile has default preferences.

Steps To Reproduce
  1. In arquillian.xml set firefoxUserPreferences to point to file with some non default Firefox property, e.g.:
user_pref("browser.download.folderList", 2);
  1. Use Drone to create fresh Firefox instance, manually check about:config and the property value.
Additional Information

Actually the preferences file is parsed correctly by Drone, but in the end the FirefoxDriverFactory creates the instance using constructor with Capabilities, not FirefoxOptions. This is deprecated since Selenium 3.6.0 and unfortunately the deprecated constructor converts Capabilities to FirefoxOptions with a bug, so anything set in "moz:firefoxOptions" is lost.

Creating FirefoxDriver instance directly using FirefoxOptions passed the preferences correctly as I verified with this simple "patch":

$ git diff
diff --git a/drone-webdriver/src/main/java/org/jboss/arquillian/drone/webdriver/factory/FirefoxDriverFactory.java b/drone-webdriver/src/main/java/org/jboss/arquillian/drone/webdriver/factory/FirefoxDriverFactory.java
index 1913b2c..68ed7ae 100644
--- a/drone-webdriver/src/main/java/org/jboss/arquillian/drone/webdriver/factory/FirefoxDriverFactory.java
+++ b/drone-webdriver/src/main/java/org/jboss/arquillian/drone/webdriver/factory/FirefoxDriverFactory.java
@@ -72,9 +72,10 @@ public class FirefoxDriverFactory extends AbstractWebDriverFactory<FirefoxDriver
     public FirefoxDriver createInstance(WebDriverConfiguration configuration) {
 
         Capabilities capabilities = getCapabilities(configuration, true);
+        FirefoxOptions options = (FirefoxOptions) capabilities;
 
-        return SecurityActions.newInstance(configuration.getImplementationClass(), new Class<?>[] {Capabilities.class},
-            new Object[] {capabilities}, FirefoxDriver.class);
+        return SecurityActions.newInstance(configuration.getImplementationClass(), new Class<?>[] {FirefoxOptions.class},
+            new Object[] {options}, FirefoxDriver.class);
     }

Performance issues with Selenium 4

Looks like the Selenium 4 alphas are running 2-3x slower than with Selenium 3
From my preliminary examination, it looks like there are some more sleep/ delays introduced
with Selenium 4 where there shouldn't be.
Needs to be investigated and fixed.

GeckoDriverGitHubSource.getLatestRelease() when running on macOS x86_64 picks up geckodriver for wrong platform architecture

Issue Overview

When running Arquillian tests on macOS x86_64 with Drone using Firefox browser, it downloads from GitHub geckodriver for wrong platform architecture - aarch64 (new Macs with Apple M1 chip).

Expected Behaviour

Drone should download geckodriver for macOS according to current hardware architecture.

Steps To Reproduce
  1. Clear Arquillian Drone local cache rm -rf ~/.arquillian/drone/*
  2. Run simple WebDriverTestCase#login test using Firefox browser:
    mvn clean verify -Dbrowser=firefox -Dtest=WebDriverTestCase#login -DfailIfNoTests=false
  3. Make sure that Drone downloads and trying to execute geckodriver-v0.29.1-macos-aarch64.tar.gz instead of geckodriver-v0.29.1-macos.tar.gz
Additional Information
$ mvn clean verify -Dbrowser=firefox -Dtest=WebDriverTestCase#login -DfailIfNoTests=false
---8<--------------
[INFO] 
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ arquillian-drone-webdriver ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.jboss.arquillian.drone.webdriver.example.WebDriverTestCase
Apr 25, 2021 1:42:34 PM org.eclipse.jetty.util.log.Log initialized
INFO: Logging initialized @732ms to org.eclipse.jetty.util.log.JavaUtilLog
Apr 25, 2021 1:42:34 PM org.jboss.arquillian.container.jetty.embedded_9.JettyEmbeddedContainer start
INFO: Starting Jetty Embedded Server 9.4.7.v20170914 [id:888655833]
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.server.Server doStart
INFO: jetty-9.4.7.v20170914
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started ServerConnector@7ea9e1e2{HTTP/1.1,[http/1.1]}{localhost:9090}
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.server.Server doStart
INFO: Started @831ms
Apr 25, 2021 1:42:35 PM org.jboss.arquillian.drone.webdriver.factory.remote.reusable.ReusedSessionPermanentFileStorage readStore
INFO: Reused session store is not available at /Users/afedotov/.drone-webdriver-session-store, a new one will be created.
Apr 25, 2021 1:42:35 PM org.jboss.arquillian.container.jetty.embedded_9.ArquillianAppProvider createApp
INFO: Webapp archive location: file:/Users/afedotov/tmp/arquillian-extension-drone/drone-webdriver/target/arquillian-jetty-temp/export6398081444941664723test.war
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.annotations.AnnotationConfiguration scanForAnnotations
INFO: Scanning elapsed time=0ms
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.webapp.StandardDescriptorProcessor visitServlet
INFO: NO JSP Support for /export6398081444941664723test, did not find org.eclipse.jetty.jsp.JettyJspServlet
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
INFO: DefaultSessionIdManager workerName=node0
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
INFO: No SessionScavenger set, using defaults
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.server.session.HouseKeeper startScavenging
INFO: Scavenging every 660000ms
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started o.e.j.w.WebAppContext@6f204a1a{/export6398081444941664723test,file:///Users/afedotov/tmp/arquillian-extension-drone/drone-webdriver/target/jetty-localhost-9090-export6398081444941664723test.war-_export6398081444941664723test-any-936436197788184837.dir/webapp/,AVAILABLE}{/Users/afedotov/tmp/arquillian-extension-drone/drone-webdriver/target/arquillian-jetty-temp/export6398081444941664723test.war}
Apr 25, 2021 1:42:35 PM org.eclipse.jetty.webapp.WebAppContext dumpUrl
INFO: export6398081444941664723test at http://ServerConnector@7ea9e1e2{HTTP/1.1,[http/1.1]}{localhost:9090}/export6398081444941664723test
Apr 25, 2021 1:42:35 PM org.openqa.selenium.remote.DesiredCapabilities firefox
INFO: Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
Apr 25, 2021 1:42:35 PM org.openqa.selenium.remote.DesiredCapabilities firefox
INFO: Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
Apr 25, 2021 1:42:36 PM org.arquillian.spacelift.Spacelift$SpaceliftInstance 
INFO: Initialized Spacelift from defaults, workspace: /Users/afedotov/tmp/arquillian-extension-drone/drone-webdriver, cache: /Users/afedotov/.spacelift/cache
Drone: downloading geckodriver-v0.29.1-macos-aarch64.tar.gz from https://github.com/mozilla/geckodriver/releases/download/v0.29.1/geckodriver-v0.29.1-macos-aarch64.tar.gz to /Users/afedotov/.arquillian/drone/firefox/v0.29.1/geckodriver-v0.29.1-macos-aarch64.tar.gz
...............
Apr 25, 2021 1:42:37 PM org.jboss.arquillian.drone.webdriver.binary.BinaryFilesUtils extract
INFO: Extracting zip file: /Users/afedotov/.arquillian/drone/firefox/v0.29.1/geckodriver-v0.29.1-macos-aarch64.tar.gz to /Users/afedotov/tmp/arquillian-extension-drone/drone-webdriver/target/drone/c4594ec5bb758ae097070cbc6ad36a5f
Apr 25, 2021 1:42:57 PM org.eclipse.jetty.server.handler.ContextHandler doStop
INFO: Stopped o.e.j.w.WebAppContext@6f204a1a{/export6398081444941664723test,null,UNAVAILABLE}{/Users/afedotov/tmp/arquillian-extension-drone/drone-webdriver/target/arquillian-jetty-temp/export6398081444941664723test.war}
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 23.389 s <<< FAILURE! - in org.jboss.arquillian.drone.webdriver.example.WebDriverTestCase
[ERROR] login(org.jboss.arquillian.drone.webdriver.example.WebDriverTestCase)  Time elapsed: 22.578 s  <<< ERROR!
java.lang.RuntimeException: 
Unable to instantiate Drone via org.openqa.selenium.firefox.FirefoxDriver(FirefoxOptions): org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/fe80:0:0:0:0:0:0:1%1:17628
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:26:55.152Z'
System info: host: 'mbp.local', ip: 'fe80:0:0:0:1893:2164:4332:d2f2%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_282'
Driver info: driver.version: FirefoxDriver
	at org.jboss.arquillian.drone.webdriver.factory.SecurityActions.newInstance(SecurityActions.java:166)
	at org.jboss.arquillian.drone.webdriver.factory.FirefoxDriverFactory.createInstance(FirefoxDriverFactory.java:76)
	at org.jboss.arquillian.drone.webdriver.factory.FirefoxDriverFactory.createInstance(FirefoxDriverFactory.java:40)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:127)
	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:38)
	at org.jboss.arquillian.drone.impl.DroneConfigurator$1.createInstance(DroneConfigurator.java:112)
	at org.jboss.arquillian.drone.impl.CachingCallableImpl.call(CachingCallableImpl.java:44)
	at org.jboss.arquillian.core.impl.threading.ThreadedExecutorService$ContextualCallable.call(ThreadedExecutorService.java:88)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/fe80:0:0:0:0:0:0:1%1:17628
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:26:55.152Z'
System info: host: 'mbp.local', ip: 'fe80:0:0:0:1893:2164:4332:d2f2%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_282'
Driver info: driver.version: FirefoxDriver
	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:92)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:209)
	at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:132)
	at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:120)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.jboss.arquillian.drone.webdriver.factory.SecurityActions.newInstance(SecurityActions.java:144)
	... 11 more
Caused by: java.net.ConnectException: Failed to connect to localhost/fe80:0:0:0:0:0:0:1%1:17628
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:240)
	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:158)
	at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:256)
	at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:134)
	at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:113)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
	at okhttp3.RealCall.execute(RealCall.java:77)
	at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:101)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
	... 20 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:607)
	at okhttp3.internal.platform.Platform.connectSocket(Platform.java:125)
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:238)
	... 42 more
---8<--------------

Looks like GeckoDriverGitHubSource.getFileNameRegexToDownload() creates RegExp geckodriver-v0.29.1-macos.* that matches first occurrence in assets list that actually is geckodriver-v0.29.1-macos-aarch64.tar.gz

$ curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | jq .assets[].name
"geckodriver-v0.29.1-linux32.tar.gz"
"geckodriver-v0.29.1-linux32.tar.gz.asc"
"geckodriver-v0.29.1-linux64.tar.gz"
"geckodriver-v0.29.1-linux64.tar.gz.asc"
"geckodriver-v0.29.1-macos-aarch64.tar.gz"
"geckodriver-v0.29.1-macos.tar.gz"
"geckodriver-v0.29.1-win32.zip"
"geckodriver-v0.29.1-win64.zip"

Possibility to add command line arguments for Selenium Server that is run internally.

Issue Overview

Currently, if there is no selenium server running on localhost then Drone downloads and runs an instance of selenium server on its own.

This instance of selenium server is run as a standalone with only [one parameter: -port] that is taken from defined remoteAddress.

The user should have the possibility to define some additional arguments [ example: -debug -role hub -browserTimeout 1000] for the selenium server.

disable drone for the run using maven profile

Hi ,

I am using cukespace https://github.com/cukespace/cukespace to run my features using Arquillian.
there is one issue I am facing with Tags and probably you guys can help me .

I have a suite of features, each features have few tags associated . Now when i use mvn -PmyProfile clean "-Dcucumber.options=-t @myTag" test the feature with tag "myTag" executes but other features also launch the browser and close it immediately.

This is expected since the browser is bound to the test which has the driver then.

is there any way I can disable drone for those tests which are not matching with the tag.

Cannot use chromeOptions in the arquillian.xml

To configure the drone to provide performance data I need to set chromeOptions capabilities as follows (complete js webdriver example):

{
    "browserName": "chrome",
    "chromeOptions": {
        "perfLoggingPrefs": {
            "traceCategories": ",blink.console,disabled-by-default-devtools.timeline,benchmark"
        },
        "args": ["--enable-gpu-benchmarking", "--enable-thread-composting"]
    },
    "loggingPrefs": {
        "performance": "ALL"
    }
}

It appears that this cannot be easily done in arquillian.xml.

Qualified driver fails on any call with IllegalStateException

@ClassScoped
@Isam
@Drone
private WebDriver isam;

public void open() {
    isam.get("http://localhost:9999/tag");
}

java.lang.IllegalStateException: There is an browser interleaving of org.jboss.arquillian.drone.api.annotation.Default and com.tomitribe.pxc.Isam.
at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:57)
at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:237)

Replace automatic download with WebDriverManager

Instead of rolling a custom implementation to download the correct version of the supported WebDriver we should rely on WebDriverManager to do this for us instead.

The reason for this is that our custom implementation actually downloads the wrong version of the drivers by default. This is because it will always fetch the latest version of the driver, instead of one compatible with the version of the browser installed on the system.

WebDriverManager instead will find the correct an compatible binary.

Allow switching browser on the fly on test basis

Issue Overview

Currently, Arquillian doesn't allow changing injected Web Driver objects into Pages per test-basis.

Here's an example. In Keycloak testsuite we have a Page objects, that contain an injected Web Driver. Graphene allows us to change the Web Driver used for navigating the page using annotations (see the manual). However, if the Page object contains an injected Web Driver, the default one gets injected. This very often confuses Graphene (and users) since we have two drivers for navigating the same page.

Expected Behaviour

The Web Driver injected into the Page objects should be the same as the one used by Graphene.

Current Behaviour

Instead of a custom Web Driver, the default one gets injected.

Steps To Reproduce

Unfortunately I don't have a custom reproducer for this. Probably the easiest way would be to have a look at my Pull Request against Keycloak: https://github.com/keycloak/keycloak/pull/5930/files

Additional Information

This is definitely a Feature Request not a bug. @MatousJobanek What do you think about this feature? Would you consider implementing this? If the time doesn't allow you to do it, I might try to help by donating the implementation. However, I'm not an expert in Graphene, so I would be more than happy, if you give me some advise how this should be implemented.

Unexpected callable present in Drone Context. should be already instantiated at this moment

While running the scripts I see the below error message.
"java.lang.illegelStateException: Unexpected callable present in Drone Context. should be already instantiated at this moment."

We are using the below tools for our testing:

  1. IE9
  2. TestNG Annotations
  3. Arquillian framework.
  4. Selenium 2

I have 10 java files; each one contains one @test method.
I’m running a test suite with all the ten class.
Some of the tests pass and in between before closing the browser window, it starts new browser window and it throws the drone error what is mentioned above.

Note :
1.The browser will open and close for each @test method as we are using “@BeforeMethod” and “@AfterMethod” method.
2. We are creating instance of drone in Base class only once.

This error is not displayed in particular java file, it shows the error in different java file on every run.
Sometimes there is no error and all the tests pass.
So, please provide any workaround or solution to overcome this issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.