如何在POM中自动更新selenium版本?
有没有办法在POM文件中自动获取selenium-java版本更新到最新版本,而无需手动更改它?
我尝试创建一个selenium.version
变量,可以获取新的selenium更新,但我的POM拒绝索引变量,它显示为红色
org.seleniumhq.selenium selenium-java ${selenium.version}
任何解决方法?
如果要自动更新以下依赖项的
属性:
org.seleniumhq.selenium selenium-java 3.8.1
您可以在Versions Maven Plugin
versions:update-property
中使用newVersion
parameter
,如下所示:
-
版本1.0(包含)到2.0(不包括):
org.seleniumhq.selenium selenium-java [1.0,2.0) -
版本1.0到2.0(包括两者):
org.seleniumhq.selenium selenium-java [1.0,2.0] -
1.5及更高版本:
org.seleniumhq.selenium selenium-java [1.5,) -
最高1.0(包括)和1.2或更高的版本:
org.seleniumhq.selenium selenium-java (,1.0],[1.2,) -
要使用的版本:
org.seleniumhq.selenium selenium-java -DnewVersion=[3.8.0]
老实说,最好的方法是完全按照你的方式做,在你的pom.xml中定义${selenium.version}
的属性,如下所示:
3.8.1
maven的核心原则是可重复的构建。 如果您没有为依赖项提供具体的版本号(即使是像selenium这样的测试依赖项),那么当发布新版本的selenium时,您可能会在一天内突然失败(或者出现其他一些不一致)。
您最好将版本定义为3.8.1,如果将来您看到需要升级(版本3.9.x …版本4.x …),只需更改
并重建。
如果多个项目使用selenium,您可以将
放在父pom中,它们都定义为父pom。
如果您使用的是Maven 2,则可以使用LATEST或RELEASE的版本值。 LATEST是指特定工件的最新发布或快照版本,即特定存储库中最近部署的工件。 RELEASE是指存储库中的最后一个非快照版本
org.seleniumhq.selenium selenium-java LATEST
但是,Maven 3.x不再支持在POM中使用这些metaversion。 因此,用户将需要用具体版本替换这些metaversion的出现,因为存在由自动插件版本解析强加的不可重现的构建的威胁。