2

我正在查看https://sourceforge.net/projects/testngdatabind/并寻找在测试启动时设置属性位置的可能性。用例是我有更多的环境(例如不同的数据库),我想在其中运行相同的测试。

TestNG 数据绑定中有两个不同的属性文件。第一个(称为数据属性文件)定义数据源的类型(在我的例子中为“属性”)和测试使用的实际键/值对的 URL(称为“属性数据源”)。但是它们都不接受通过例如系统环境变量传递给测试的变量。

即使 TestNG 数据绑定框架没有开发约 6 年,它也能很好地工作。是否有任何替代方法可以使 TestNG 测试通用化,以便它们可以在仅因使用的数据而不同的环境中运行?

4

1 回答 1

0

作为替代方案,您可以使用TestNG 扩展 QAF,它提供不同的内置数据提供程序,并且还具有资源和环境管理。使用 QAF,如果您的测试用例是数据驱动的,并且针对不同的环境有不同的数据,它可能如下所示:

    @QAFDataProvider(dataFile = "resources/${env}/data/tc_01.json")
    @Test
    public void tc_01(Map<String, Object>){
    }

数据文件路径的值${env}可以在执行时以不同的方式提供。这只是一个例子。根据需要,可以通过使用 qaf 的不同功能来使用其他替代方法。

于 2019-03-01T21:55:13.010 回答