在 testNG 中管理大量特定于环境的测试数据

Manage large amount of environment specific test data in testNG

我有一个企业 android 应用程序和一个为测试该应用程序而创建的程序包。使用 Appium 和 testNG 的框架上的包 运行s。测试包有各种测试,用于检查应用程序的内容、标签和功能。该软件包能够 运行 在应用程序的不同阶段(如 alpha、beta)进行测试。所有不同阶段都有不同的测试数据。

例如,让我们来看一个送餐应用程序。在此应用程序中,测试是通过一个测试包完成的,该测试包可以 运行 在不同的开发阶段(alpha、beta、gamma、prod)。可以有长途和短途、打折不打折、送货单、堂食等不同类型的订单,不同阶段会有所不同。

我需要一种在 JAVA 中以通用方式管理此测试数据的方法。就像在 JS 中一样,我们可以有 TestData.BETA.DISCOUNT_ORDER.EMAIL_IDTestData.PROD.DISCOUNT_ORDER.EMAIL_ID

我已经尝试过 java 反射,但是在处理映射、内部类和内部类内部的映射时它变得非常复杂。

我最终创建了 类,例如:

CommonTestData

继承
AlphaTestData
BetaTestData
GammaTestData
ProdTestData

以及由所有这些实现的接口return基于当前环境阶段的正确对象。

TestDataController