2017-04-24 88 views
0

這個論壇上的新手和第一個問題。我的第一個腳本使用mstest和PowerShell v4.0工作流成功運行並行測試。但是,「InlineScript」具有並行運行5的限制,試圖將腳本重新設計爲沒有「InlineScript」的腳本。雖然我可以使用硬編碼測試名稱使第二個腳本適用於單一測試,但當我嘗試爲運行提供所有測試時遇到問題。請看看這兩個腳本和建議:使用mstest和PowerShell工作流程運行並行測試

首先腳本:

workflow Primary_Tests 
{ 
    $Workspace = "E:\Vishal_PS_Workspace" 
    $mstest = "C:\VisualStudio12\Common7\IDE\MSTest.exe" 
    $testlocation = "$Workspace\TEST\TestBin" 

    $RunName = Get-Date -format "yyyy-MM-dd-T-HH\hmm" 
    mkdir "$Workspace\TestResults\Results-$RunName" 
    $resultsDir = "$Workspace\TestResults\Results-$RunName" 
    $results = "/resultsfile:$resultsDir\$RunName.trx" 

    InlineScript { cd $Using:testlocation } 

    $tests = @("Test_01", "Test_006", "Test 013", "ST-002-002", "ST-001-002", "ST-032-002", "ST-012-002", "Test 016", "Test 143") 

    ForEach -Parallel -ThrottleLimit 10 ($test in $tests) 
    { 

     InlineScript { & $Using:mstest /TestContainer:"$Using:testlocation\$Using:test.webtest" /resultsfile:"$Using:resultsDir\$Using:test.trx" } 
    } 
} 

Primary_Tests 

第二個腳本:

Workflow Parallel_Tests 
{ 
    $Workspace = "E:\Vishal_PS_Workspace" 
    $mstest = "C:\VisualStudio12\Common7\IDE\MSTest.exe" 
    $testlocation = "$Workspace\TEST\TestBin" 

    $RunName = Get-Date -format "yyyy-MM-dd-T-HH\hmm" 
    mkdir "$Workspace\TestResults\Results-$RunName" 
    $resultsDir = "$Workspace\TestResults\Results-$RunName" 
    $results = "/resultsfile:$resultsDir\$RunName.trx" 

    $arguments = " /testcontainer:" + "$testlocation\" + "Test_01.webtest" 
    $tests = @("Test_01") 

    ForEach -Parallel -ThrottleLimit 10 ($test in $tests) 
    { 

     Invoke-Expression "$mstest $arguments $results" 

    } 
} 
Parallel_Tests 

回答

0

一些更重試,我能把它利用嵌套 的foreach工作。無論如何,謝謝你。