Java 如何根据预定义变量或在config.properties中导入不同的包?

Java 如何根据预定义变量或在config.properties中导入不同的包?,java,selenium,cucumber,Java,Selenium,Cucumber,我已经为使用Dojo框架的公司web应用程序构建了端到端测试自动化。我在Java中使用Cucumber、Selenium和JUnit runner来运行我的自动化。在下一个版本中,他们将更改为AngularJs框架。计划是使用相同的repo,并将包分为两个版本,即Dojo和Angular,因为后端是相同的,只是ui不同。这是因为我认为它更容易维护 Package before: - glue - page 我的解决方案是将ui构建放在config.properties中 con

我已经为使用Dojo框架的公司web应用程序构建了端到端测试自动化。我在Java中使用Cucumber、Selenium和JUnit runner来运行我的自动化。在下一个版本中,他们将更改为AngularJs框架。计划是使用相同的repo,并将包分为两个版本,即Dojo和Angular,因为后端是相同的,只是ui不同。这是因为我认为它更容易维护

Package before:
    - glue
    - page
我的解决方案是将ui构建放在config.properties中

config.properties

ui.build=dojo
我的问题是如何使用这个属性让胶水代码知道它应该导入哪个包?有更好的办法解决我的问题吗

我的另一个解决方案是为angular build和dojo build创建一个新的runner,并复制所有内容并将其放在不同的包中,但这将使其难以维护

Package before:
    - glue
    - page
如果ui.build在dojo中,我希望粘合代码在dojo包中导入,反之亦然,但我不知道如何做到这一点?我试着用谷歌搜索,但找不到任何答案

如果你们需要更多信息,请告诉我。
提前谢谢。

经过深入研究,我发现这是不可能的。我认为最好的方法是使用接口,只需更改Dojo和Angular类,即可实现并创建一个新方法来处理类传递。

使用where可以使用property
step.provider.pkg
配置步骤提供程序包。您还可以为不同的xml测试集配置不同的包。请参阅,它显示了bdd2工厂的示例,也适用于ghekin工厂

step.provider.pkg=some.common;page.dojo
安格拉尔酒店

step.provider.pkg=some.common;page.angular
要设置
step.provider.pkg
,有