2

我有,我們已經創建了一套Selenium測試,使用的RSpec和水豚,針對某遠程服務器運行項目之前清理遠程數據庫。這意味着這些測試不會像應用程序一樣運行在Rails實例/環境中,因此無法訪問該應用程序的rake任務。想法如何運行Selenium測試

我們正在試圖找出是清潔的/一個很好的方法,每次運行前恢復數據庫。我們通過Jenkins構建任務部署應用程序,然後如果成功,則啓動硒測試。我們使用Selenium2,測試通過SeleniumServer(以前的Selenium Grid)運行。當我們部署應用程序以恢復數據庫時,我們確實有能力解除Cap任務。

的問題是怎麼做,同時最小化,我們需要做的(最好是限制遷移到只有最近期的)和預播種與所需數據的數據庫遷移的數量的恢復。

一些有趣的事情要注意我們的設置:我們有一些信息要播種,而不是播放它,但比你想要進入種子文件更多,我們有一個完全分區的數據庫與兩個公共和私人模式。我們有一個多租戶應用程序,並使用私有模式來隔離數據訪問。

那麼,什麼是一些其他人都用來解決這個問題的方法?

我想大多數人使用數據庫清潔對於這個問題,但正如我在開始時說,硒的測試運行Rails環境之外,以便數據庫吸塵器將無法正常工作。

+0

如果這是一個測試服務器,那麼你就可以打開黃瓜環境數據庫的遠程連接並做你喜歡的任何事情,例如使用數據庫清理器清理數據庫或者只執行計劃SQL查詢。 – luacassus 2012-04-02 21:57:01

回答

0

如果您使用詹金斯,你可以建立另一個詹金斯作業是重置/刷新你的數據庫負責。這可能包含用於清理數據庫的腳本。然後將您當前的Jenkins測試工作設置爲順利執行清理工作後啓動的下游項目。

然後,當你想開球完整測試,只要運行清理作業,去做成三明治:)

相關問題