Selenium在哪里获取数据来测试单位?

时间:2017-07-28 08:40:39

标签: database selenium

使用Selenium时,为测试单位而生成的数据在哪里?它可以使用项目正在处理的相同数据库实例,还是应该创建新数据库?

2 个答案:

答案 0 :(得分:1)

Selenium用于

  

自动化浏览器。而已!

因此,您可以设计Test框架如何处理数据流。例如,如果您决定使用Data-driven approach,它将允许您使用不同的输入和验证值自动多次运行测试用例。

您的Selenium代码与SUT的Web UI进行交互,因此它并不真正关心使用什么数据库。但是seleniumhq建议在设计测试时选择database-validation。主要是从数据库中检索的记录,然后与UI进行比较。

非常希望使用沙盒DB,专门用于自动化测试。这实际上取决于您的环境的设置方式。使用像Hazelcast这样的内存数据库会加速很多事情。

答案 1 :(得分:0)

other Answer是正确的,应该被接受。

正如在那里所解释的,Selenium以机器人方式自动操作Web浏览器。出于其他目的,与Selenium一起使用其他工具。

数据库迁移工具

您可能有兴趣了解database migration工具,例如FlywayLiquibase,用于组织脚本以创建表,列,索引等。遇到新数据库或尚未更新的数据库时,该工具会自动应用相应的脚本以使该数据库实例保持最新状态。

所以这对测试很有帮助。在每次测试运行中,您都可以创建一个新数据库,将该数据库结构发展到您希望在开发历史记录中的位置,加载数据并运行测试。您的数据库在预期状态下是新鲜和干净的,非常适合可靠地重复测试。

您可以通过多种方式调用Flyway:通过Java调用,通过命令行控制台或Maven / Gradle / Ant。您可以将其挂钩到Jenkins等集成环境中。 Flyway Test Extensions项目提供了将Flyway与测试工具相结合的进一步帮助。

请参阅:Integration testing with Flyway(Stack Overflow问题)