2016-09-26 40 views
2

我想添加一個場景,與我的主要基於http的場景並行運行,以向環境中引入錯誤(通過刪除應用程序實例等)如何從Gatling模擬中執行shell腳本?

我看不到從Gatling這樣做的方法。我要的是東西,看起來有點像這樣:

exec({ 
    "chaos.sh" ! 
}).pause(10) 
.exec({ 
    "firewallService.sh enable" ! 
}) 

這可能與加特林?

回答

1

我找到了避免嘗試編寫自定義Action和ActionBuilder的此問題的解決方法。它歸結爲把它一個代碼塊中的其他地方,像一個會話建設者元素:

exec(session => { 
    val scriptOutput = "/My/Chaos/Script.sh".!! 
    println(s"""Chaos invoked: ${scriptOutput} """) 
    session 
}) 

我選擇這個,因爲它使測試簡單,因爲所有的例子我發現實際寫入操作等使用加特林自重構以來的代碼。似乎沒有此功能的最新文檔頁面

+0

您的代碼片段似乎沒有編譯。你在哪裏「。!!」 ?我可以參數化腳本並從galing中調用它嗎? – Viswanath

+0

@Viswanath,請參閱http://www.scala-lang.org/api/2.11.x/#scala.sys.process.ProcessBuilder瞭解關於。這只是一個代碼片段。您需要將它編織到您自己的Gatling模擬中...... –

+0

謝謝您指出流程生成器! – Viswanath