2009-12-14 138 views
3

對於令人困惑的標題道歉:-)基本上,我通過Maven構建項目時配置了我的Selenium測試以運行JUnit。如果我在命令提示符下啓動Selenium服務器,然後在另一個cmd提示符下運行maven構建目標,那麼測試將按預期運行。在Hudson通過JUnit運行硒測試

我認爲這個過程在Hudson中很容易實現,但它已被證明是相當有問題的。我可以像以前一樣啓動我的硒服務器,然後配置構建通過哈德森作業啓動。然而,哈德森似乎並沒有被拾起硒服務器 - 我得到它說以下內容的錯誤消息:

Unable to obtain goal [test:test] 

的原因我認爲哈德森不接觸硒服務器是因爲當我運行junit通過自己的命令提示符測試我的服務器停止,我得到相同的錯誤信息。

它也很重要,請注意,我曾經使用seleniumHQ插件爲哈德遜運行我的測試使用HTML文件 - 但希望更改爲JUnit,因爲它更靈活。

對此非常感謝!

謝謝, Gearoid。

回答

0

是否有一個配置文件的服務器URL沒有被拾起在哈德遜內部運行?你能打印服務器的URL以確保它指向正確的地方嗎?

3

我建議您從測試目標單獨運行硒測試。

您可以爲您的項目創建兩個哈德森構建,第二個構建由第一個構建的成功完成觸發。

你爲什麼要這樣做?

  • 單元測試的完成速度較快,所以您的反饋時間是玉米粥短
  • 第二內建可以運行一個shell腳本或螞蟻,而不是行家,讓您在遠程服務器上更容易控制
  • 硒測試贏得mvn test在開發者機器上不會觸發,這可能會導致衝突。
  • 您可以在「服務器場」配置中運行兩個哈德森節點,第二個實例可以在與selenium相同的服務器上運行。可以爲特定版本設置服務器關聯。