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

How to import different package according to predefined variable or in config.properties?

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

Package before:
    - glue
    - page
Package after :
    - glue
    - page
        - dojo
        - angular

我的解决办法是把ui build放在config.properties.

config.properties

ui.build=dojo

我的问题是如何使用这个属性让胶水代码知道应该在哪个包中导入?我的问题有更好的解决方案吗?

我的另一个解决方案是为 angular build 和 dojo build 创建一个新的 运行ner 并复制所有内容并将其放在不同的位置包,但这会使维护变得困难。

如果 ui.build 在 dojo 中,我希望在 dojo 包中导入粘合代码,反之亦然,但我不知道该怎么做?我尝试使用谷歌搜索,但找不到任何答案。

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

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

使用gherkin with qaf where you can configure step provider pakage using property step.provider.pkg. You can have different package configured for different xml test set as well. Refer documentation也不是不可能,它展示了bdd2 factory的例子,也适用于ghekin factory。

step.provider.pkg=some.common;page.dojo

对于角度

step.provider.pkg=some.common;page.angular

设置step.provider.pkg,有different ways of providing property