Comments (5)
I would need to configure the maven-failsafe-plugin:
<configuration>
<trimStackTrace>false</trimStackTrace>
<systemPropertyVariables>
<root.route>${project.artifactId}-${project.version}</root.route>
<!-- this is where the driver-binary-downloader-maven-plugin puts them -->
<webdriver.chrome.driver>webdriver/${os.name}/googlechrome/64bit/chromedriver</webdriver.chrome.driver>
<!-- Similarly for other browsers -->
</systemPropertyVariables>
</configuration>
This is in order to make it work in Linux, OSX, Windows.
The problem, though, is that the downloader uses its very own names, such as
"linux" in small letters when "Linux" is the ${os.name}.
I would love to see this corrected so that one pom.xml is good for all three supported operating systems.
from driver-binary-downloader-maven-plugin.
I am very confused:
selenium-standalone-server-plugin
is the same as
driver-binary-downloader-maven-plugin
?
from driver-binary-downloader-maven-plugin.
yes it's the same plugin, I decide the name wasn't very accurate before I published it to maven, but I never got around to changing the repo name (something I must do).
The plugin stores the location of the binary that it downloaded in a maven variable that you can use to configure your maven-failsafe-plugin properties, so your configuration should look like this:
<configuration>
<trimStackTrace>false</trimStackTrace>
<systemPropertyVariables>
<root.route>${project.artifactId}-${project.version}</root.route>
<!--Set properties passed in by the driver binary downloader-->
<webdriver.chrome.driver>${webdriver.chrome.driver}</webdriver.chrome.driver>
<webdriver.gecko.driver>${webdriver.gecko.driver}</webdriver.gecko.driver>
<!-- etc... -->
</systemPropertyVariables>
</configuration>
This maven property that it sets will be for driver binary for the current OS
The code is here:
Originally I did try setting environmental variables, but Maven starts new JVM's for each phase so you can't automatically share the the current list of env variables between them and it didn't just work unfortunately.
from driver-binary-downloader-maven-plugin.
I see. Now, I have a project with JUnit4 here where this setting works and one with JUnit5 where it doesn't. Is this a known incompatibility? The problem seems to be with the failsafe plugin not propagating the <webdriver.chrome.driver>path</webdriver.chrome.driver> in its systemPropertyVariables at all.
from driver-binary-downloader-maven-plugin.
It's not a known incompatibility, and I'm surprised to be honest. If the maven-failsafe-plugin is failing to create system properties passed into the JVM it should fail no matter what version of jUnit you are using, and it should work whatever libraries you are using.
Are you using the maven-failsafe-plugin for both your jUnit4 and jUnit5 projects, or are you using the maven-surefire-plugin for one of them and consequently setting the system properties in the wrong phase?
from driver-binary-downloader-maven-plugin.
Related Issues (20)
- Does not work with Java 16 HOT 1
- Jar execute
- System architecture is not set to ARM on M1 mac HOT 1
- Doesn't extract chromedriver executable file anymore with chromedriver 115 or newer
- webdriver environemnt properties HOT 6
- unable to pass javax.net.ssl.trustStore into the plugin
- Perform a 1.0.17 Release HOT 2
- NullPointerException for an (formatted) Valid URL HOT 3
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder" HOT 4
- maven property is not forwarded into forked execution HOT 1
- Allow dynamic disable of plugin HOT 2
- Not possible to set proxy settings on linux because ob . in the name HOT 1
- Minor correction to README.md
- Mark all goals as thread-safe HOT 5
- Any chance you could push a release? HOT 100
- Misbehavior with shortened URLs HOT 1
- Facing SunCertPathBuilderException: unable to find valid certification path to requested target
- Not able to download the latest Chrome Edge Driver Binary HOT 1
- always downloads even if files already exist HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from driver-binary-downloader-maven-plugin.