Selenium Webdriver - 可以将测试数据存储在页面对象中吗?

时间:2013-10-29 12:03:06

标签: testing selenium webdriver selenium-webdriver

我们在Java中为Selenium创建了一些测试框架,并考虑测试数据管理。

我们实现了Page Objects类,Tasks类将页面对象操作分组为更高级别的方法,测试类(jUnit)扩展了一些BaseTest类。

目前,我们没有将测试数据存储在某些单独的属性文件中。如果我们能够/应该将测试数据放在页面对象中但找不到答案,我试图找到任何建议。 目前,我们在测试中将测试数据存储在变量中。 我们使用变量,例如

private final static String SOME_DATA ="value";

我们可以在给定TestClass的测试中重复使用,但是如果我们需要在另一个Test Class中使用它,我们必须在那里重复它。

我们不希望将测试数据放在BaseTest类中,因为它会及时显着增长。

2 个答案:

答案 0 :(得分:2)

我建议将Constants类用于分布在所有测试用例中的数据,并且在运行时不会更改。我使用Constants类来存储测试帐户的所有URL,用户名和密码,以及各种其他全局数据。

但是,如果Constant在运行时更改,或者它仅适用于一小组测试/类,则Constant不是常量。

答案 1 :(得分:1)

测试数据可能在页面对象中使用,但可能不是一个好的编码实践,llike MrTi说最好的方法应该是使用常量。我一直在使用页面对象模式,我有一个名为Constants的整个包,其中有ConstantsUrl,ConstantsConfig,ConstantsCredentials。但是如果有需要更改的数据我通常使用输入文件(.txt,.csv) 。希望这有帮助!