[Power Shell] 透過排程執行 Protractor測試

  這兩天寫完了Protractor測試後,在本機執行沒問題後,將執行語法作成一個.bat檔後,放到測試主機Window Server 2012的排程工作執行。但一直無法出現測試畫面 (但手動執行.bat ok),本還以為是Window 2012後不支援.bat的排程執行=.=,後來查到是要設為"登入時才執行"。

image

設定後,排程可以順利執行.bat,但卻出現protractor 找不到conf.js來執行的錯誤,如下語法

image

我的.bat跟flow-conf.js放在同一目錄,手動執行.bat沒問題,但在排程執行時,預設執行目錄會變 c:\window,所以會找不到。若直接改成絕對路徑也可以解決,例: protractor e:\app-dir\flow-conf.js。但想到這樣若換了目錄的話,bat又要改一次,索性Survery了一下,改用PowerShell的寫法來執行。

Power Shell 語法

透過下圖紅框,取得檔案目前的執行位置,再透過protractor執行

image

$path=(Split-Path -parent $PSCommandPath)+"\flow-conf.js";


排程設定


image


相關參考


http://www.dotblogs.com.tw/jamesfu/archive/2014/05/16/autostartservice.aspx

這個網誌中的熱門文章

[TFS] 分支與合併

[.NET Core] 將專案發行至IIS