在 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_ID
,
TestData.PROD.DISCOUNT_ORDER.EMAIL_ID
我已经尝试过 java 反射,但是在处理映射、内部类和内部类内部的映射时它变得非常复杂。
我最终创建了 类,例如:
CommonTestData
由
继承
AlphaTestData
BetaTestData
GammaTestData
ProdTestData
以及由所有这些实现的接口return基于当前环境阶段的正确对象。
TestDataController
我有一个企业 android 应用程序和一个为测试该应用程序而创建的程序包。使用 Appium 和 testNG 的框架上的包 运行s。测试包有各种测试,用于检查应用程序的内容、标签和功能。该软件包能够 运行 在应用程序的不同阶段(如 alpha、beta)进行测试。所有不同阶段都有不同的测试数据。
例如,让我们来看一个送餐应用程序。在此应用程序中,测试是通过一个测试包完成的,该测试包可以 运行 在不同的开发阶段(alpha、beta、gamma、prod)。可以有长途和短途、打折不打折、送货单、堂食等不同类型的订单,不同阶段会有所不同。
我需要一种在 JAVA 中以通用方式管理此测试数据的方法。就像在 JS 中一样,我们可以有 TestData.BETA.DISCOUNT_ORDER.EMAIL_ID
,
TestData.PROD.DISCOUNT_ORDER.EMAIL_ID
我已经尝试过 java 反射,但是在处理映射、内部类和内部类内部的映射时它变得非常复杂。
我最终创建了 类,例如:
CommonTestData
由
继承AlphaTestData
BetaTestData
GammaTestData
ProdTestData
以及由所有这些实现的接口return基于当前环境阶段的正确对象。
TestDataController