2015-05-18 37 views
1

在TeamCity中,我設置了「命令行」runner類型。我的目標是在窗口&中運行命令行腳本讓它運行。然後轉到下一個構建步驟,而不關閉在上一步中打開的命令行窗口。在我最後的構建步驟中,我想關閉在初始構建步驟期間仍然打開的命令行窗口。用於BrowserStack測試的TeamCity配置

上面的場景是基於我的生成步驟,同時配置「BrowserStack」測試項目,我想在我的執行BrowserStackLocal.cmd‘命令行’亞軍型分級&讓它運行,然後進入下一個構建步驟中,我在完成測試後,我想關閉命令行窗口

目前構建步驟在執行'start BrowserStackLocal.exe -force'後不知道該做什麼,因爲它將等待回覆代碼。

關於如何轉到下一個構建步驟的任何想法?

回答

0

你只需要按下​​和TAB

+0

在這裏,在原來的問題的挑戰,跳到下一TeamCity的構建步驟。 –

0

如果「BrowserStack」具有相應的啓動停止命令,那麼你可以使用它們(例如比如Tomcat)。如果沒有,那麼你可以在background啓動「BrowserStack」,然後運行測試,然後用殺死它下面command option-force - kill other running instances of BrowserStack Local

+0

嗨Alina, 感謝您的答覆。 這裏的問題主要圍繞TeamCity(CI)配置。在啓動'CommandLine'跑步者類型構建步驟後,需要知道如何跳到TeamCity中的另一個構建步驟。 –

+0

在TeamCity中運行並行構建步驟是不可能的,請參閱相關的[功能請求](https://youtrack.jetbrains.com/issue/TW-13849)。我建議你在第一個命令行構建步驟中在後臺啓動BrowserStack。一旦開始,第二個構建步驟開始執行 - 運行測試,並在第三個構建步驟中殺死BrowserStack進程。 –

+0

在TeamCity中,第二個構建步驟在第一步完成/失敗之前不會啓動(無法在不退出第一步的情況下啓動第二個構建步驟)。一旦我們運行BrowserStack作爲TeamCity構建步驟1的一部分,它將一直持續運行。 臨時解決方案是:在後臺手動運行BrowserStack,並從TeamCity構建步驟中刪除相應的步驟。 –

2

正如阿麗娜指出你需要安裝一個「命令行」構建步驟下水BrowserStackLocal運行測試之前在後臺運行。該配置可以像:

Runner Type = Command Line 
Run = Custom Script 
Using 'advanced options' set Working directory where BrowserStackLocal is present if it differs from the checkout directory. 

自定義腳本樣本:

  • 對於Linux/Mac的

    #!/bin/bash 
    
        ./BrowserStackLocal <BrowserStack Key> -force & 
    
  • 對於Windows

    start /B BrowserStackLocal.exe <BrowserStack Key> -force 
    

在轉移到團隊城市項目中的下一個構建步驟之前,您可以等待以允許BrowserStackLocal過程開始。此外,您可以設置後期構建操作來終止正在運行的BrowserStackLocal進程。

+0

你是對的9ikhan。我們已經以同樣的方式實施。這裏面臨的挑戰是,TeamCity構建步驟在執行'啓動BrowserStackLocal.exe -force'後不知道該怎麼做,因爲它將等待回覆代碼。在BrowserStackLocal運行時,它將永遠無法跳入TESTS執行。 –

+0

你可以試試這個:'start/B BrowserStackLocal.exe -force> output.txt'?我已經在Windows機器上驗證了這一點,它確實在後臺運行該進程並且是非阻塞的。請參閱:http://superuser.com/a/591084 – 9ikhan

+0

@VRVRKrishnan - 如果此解決方案有效,請接受答案或讓我知道是否需要更多信息。 – 9ikhan

1

最近有同樣的問題,啓動二進制作爲守護進程將繼續到下一個構建步驟。

打開連接:

browserstacklocal.exe --key %system.BrowserStackKey% --local-identifier %system.BrowserStackLocalIdentifier% --force --daemon start 

關閉連接:

browserstacklocal.exe --local-identifier %system.BrowserStackLocalIdentifier% --daemon stop