2017-07-28 82 views

回答

1

Selenium用於

自動化瀏覽器。而已!

所以它是爲你設計如何測試框架將處理數據流。例如,如果您決定使用Data-driven approach,它將允許您使用不同的輸入和驗證值多次自動運行測試用例。

您的Selenium代碼與SUT的Web UI交互,因此它並不真正關心使用哪個DB。但是,在設計您的測試時,seleniumhq建議您使用database-validation。主要是從數據庫中檢索記錄,然後再與UI進行比較。

非常希望使用沙盒數據庫,完全專用於您的自動化測試。這實際上取決於你的環境如何設置。使用像Hazelcast這樣的內存數據庫會加速很多事情。

0

other Answer是正確的,應該被接受。

如上所述,Selenium以機器人的方式自動運行網絡瀏覽器。爲了其他目的,使用其他工具,以及Selenium。

數據庫遷移工具

你可能有興趣瞭解database migration工具,如FlywayLiquibase該組織腳本來創建你的表,列,索引,等等。遇到新數據庫或尚未更新的數據庫時,該工具會自動應用相應的腳本以使該數據庫實例保持最新狀態。

所以這對測試非常有幫助。在每次測試運行中,您都可以創建一個新的數據庫,根據您希望在開發歷史中發佈的數據庫結構演變,加載數據並運行測試。您的數據庫在預期狀態下清新干淨,非常適合可靠地重複測試。

您可以通過幾種方式調用Flyway:Java調用,命令行控制檯或Maven/Gradle/Ant。您可以將其與像Jenkins這樣的集成環境掛鉤。 Flyway Test Extensions項目爲將Flyway與測試工具相結合提供了進一步的幫助。

請參閱:Integration testing with Flyway(堆棧溢出問題)