當我的web service可以部署到IIS之後,想用Selenium寫自動化測試,ruby語言。
寫好測試文件後,希望在nant build腳本里寫一個task讓所有測試自動運行。
nant腳本如下:
${automation.tests.dir}是存放test文件的地方;
${ruby.exe} 是ruby.exe的文件全路經,但如果已經註冊了環境變量,文件名也可以;
但是問題就來了,運行這個task之前,需要先啓動selenium-server,運行後需要關閉它。
運行selenium-server,不能在nant build腳本運行的控制檯內,否則會hung住控制檯不能繼續運行。
那麼,利用console的start啓動獨立的控制檯來運行selenium-server。
在start_selenuim_server.bat裏寫入:
這樣,啓動selenium-server的問題解決了。
那麼如何在nant build腳本里關閉這個由獨立console進程運行的selenium-server?
在selenium.rb文件中,有shut_down_selenium_server函數。
該函數提供在client端請求server關閉的功能。
在ShutDownServer.rb中,調用shut_down_selenium_server函數。
或者也可以利用Console直接kill process。
無論採取那種方式,在所有測試都通過的情況下,selenium-server可以正常關閉,但是當有測試失敗,則server不能退出。