我们在Java中为Selenium创建了一些测试框架,并考虑测试数据管理。
我们实现了Page Objects类,Tasks类将页面对象操作分组为更高级别的方法,测试类(jUnit)扩展了一些BaseTest类。
目前,我们没有将测试数据存储在某些单独的属性文件中。如果我们能够/应该将测试数据放在页面对象中但找不到答案,我试图找到任何建议。 目前,我们在测试中将测试数据存储在变量中。 我们使用变量,例如
private final static String SOME_DATA ="value";
我们可以在给定TestClass的测试中重复使用,但是如果我们需要在另一个Test Class中使用它,我们必须在那里重复它。
我们不希望将测试数据放在BaseTest类中,因为它会及时显着增长。
答案 0 :(得分:2)
我建议将Constants类用于分布在所有测试用例中的数据,并且在运行时不会更改。我使用Constants类来存储测试帐户的所有URL,用户名和密码,以及各种其他全局数据。
但是,如果Constant在运行时更改,或者它仅适用于一小组测试/类,则Constant不是常量。
答案 1 :(得分:1)
测试数据可能在页面对象中使用,但可能不是一个好的编码实践,llike MrTi说最好的方法应该是使用常量。我一直在使用页面对象模式,我有一个名为Constants的整个包,其中有ConstantsUrl,ConstantsConfig,ConstantsCredentials。但是如果有需要更改的数据我通常使用输入文件(.txt,.csv) 。希望这有帮助!