2013-04-15 67 views
4

我有一些硬件組件需要以半自動化的方式進行測試。這將涉及類似的程序步驟:有沒有辦法使用Jenkins來運行交互式測試腳本(並讓用戶真正與之交互)?

  1. 提示用戶信號A連接到連接器J1
  2. 用戶後證實了這一點很到位,自動檢查成功的信號檢測

我有經驗的寫作這樣的測試使用bash,python等。我還使用Jenkins來管理構建和自動化測試。我想做什麼(如果可能的話)是將兩者結合起來,並使用Jenkins來管理測試計算機上交互式腳本的運行。這將使我能夠利用Jenkins的能力來始終在測試計算機上生成腳本,並無限期地歸檔工件和控制檯輸出歷史記錄。我不確定的部分是如何讓用戶與正在進行的Jenkins作業進行交互。有沒有人有這方面的經驗或知道是否有可能?

這是在Linux系統上,所以也許我可以在用戶可以附加到的「屏幕」會話中運行它?

有沒有更好的工具用於這個我沒有考慮過?

編輯1:

我沒有聽到有關"Remote Terminal Access Plugin",但不允許與詹金斯直接互動構建。

到目前爲止,我已經找到了最好的可能的解決方案是推出啓用日誌記錄「屏幕」會議,並讓用戶與從本次會議互動:

screen -S test -d -m -L ./myscript.sh 
PID=`screen -list | grep test | awk '{print $1}' | sed 's/\..*//g'` 

#This will show the output of the screen session in the jenkins console: 
tail -f screenlog.0 --pid=$PID 

然後在奴隸,一個用戶可以像這樣附加到此屏幕上:

screen -r test 

這種方法的缺點是,如果出現問題,Jenkins不會得到反饋。

回答

0

你基本上需要一些方法來暫停構建,直到用戶交互。我認爲現在還沒有這樣的公共插件,但是您可以檢查是否存在某個文件或其內容並循環休眠,直到滿足條件。或者您可以改爲查看遠程URL。當用戶準備好時,您更改文件/ URL,您的作業檢測並繼續。

我認爲這樣的插件不會很難寫,但沒有任何東西在那裏......除非你看了看jbpm插件?它必須在複雜的場景中可用。

相關問題