你在 Rails 应用程序上的 Selenium 测试中使用了哪些数据?你从固定装置加载吗?使用现有的开发数据库?使用单独的(非夹具)数据库?
我在这里考虑我的选择。我有一个带有大型 Selenium 测试套件的 Rails 应用程序,该套件在 Selenium Grid 的修改版本上运行。现在,该过程的一部分是在测试套件运行之前加载大量的固定装置。这是很多数据。其中大部分是报告从我们的生产数据库导出的信息。当我最初设置它时,我将数据从 Oracle 导出到 yaml。
现在一些报告表中的模式发生了变化,所以我当然必须重新生成夹具数据。它太多了,不值得手动编辑文件。但是对于每个小的模式更改都必须重新生成似乎效率低下 - 更不用说这是另一个需要记住的步骤。有没有更好的办法?
编辑:我最初打算在每次测试之前加载固定装置并在每次测试之后卸载它们,就像常规的 Rails 测试一样。但由于此报告数据,加载灯具大约需要 15 分钟。有 200 多个测试,套件每 12 小时运行一次。我不能弯曲时空队长!
编辑2:我也同意拥有这么多固定装置是一种难闻的气味。不过,我不确定如何减少它,因为报告汇总了大量数据,而硒测试的大部分价值在于它们测试了报告。
即使它是一小组数据,但是……它仍然是另一个与架构更改保持协调的数据集。(我们为单元、功能和 [Rails] 集成测试提供了一个单独的、较小的集合。)
这让我回到了我最初的问题——除了手工操作或记住每次都重新生成它们之外,还有其他选择吗?