2016-04-02 74 views
0

我真的不知道如何更好地解釋我遇到的這種情況,但我會盡我所能。Windows自動化需要與.net應用程序交互

這就是我想要做的......

我現在有一個批處理文件,做一些設定,比如從FTP,文件夾創建下載文件的行爲,修改一些文本文件等,這是我們花45分鐘手動完成批處理腳本自動化操作。

我想要做的下一步是啓動我們的.net Windows應用程序,登錄它並在其中執行一些操作,然後註銷它。這實際上是一個迴歸測試案例,我在另一臺機器上使用VS Coded UI進行自動化。我遇到的問題是,有一個單獨的支持團隊需要做45分鐘的工作,我已經自動完成工作,然後登錄到應用程序後執行一些操作。該支持團隊的機器不會安裝VS或編碼UI。

那麼,我該怎麼辦呢?有什麼想法嗎?

回答

1

如果在機器上未安裝Visual Studio/CodedUI,您可以執行您編寫的CodedUI測試。請記住,您可以通過TFS或Microsoft Test Manager中的控制器和代理運行測試。你可以採取這些原則手動運行它們,即使它是一個奇怪的角落案例。如果我記得正確,這需要兩個步驟:

  1. 設計您的CodedUI測試以引用CodedUI .dlls作爲解決方案的一部分,而不是GAC。我的意思是將所需的.dll複製並粘貼到解決方案文件夾中,並用指向文件夾中的.dll的文件替換現有的引用。當你分發你的測試時,一定要包括這個soln文件夾。 (更新:在經歷了一些更多的經驗之後,我發現使用NuGet包變得更容易,項目級參考是絕對的NIGHTMARE)
  2. 安裝微軟在測試機上免費提供的「測試代理」軟件。這將安裝您的測試人員可能需要的其他測試.dll。你也可以用這些做第一步,但說實話,我認爲這不是那麼麻煩。另外,它安裝必要的mstest可執行文件。

然後,您的測試人員必須在控制檯中使用mstest.exe(更新:安裝代理後,您可以/應該使用vstest.console.exe)以運行您的CodedUI測試。或者,你可能會使用powershell或你的批處理文件來執行你的測試和你的其他測試在一個整潔的包。

請讓我知道,如果這給了你一個潛在的解決方案,你的問題。

+1

我需要這些信息才能在非開發機器上運行我的測試。感謝您的建議,將嘗試檢查,並讓您知道它是如何去。 –

+0

Naheem - 我能否提出另一種可能有用的方法,作爲第1步的替代方案?考慮使用NuGet包(可能存儲在組織級共享驅動器中)。您可以快速獲得必要的CodedUI.dlls並將它們與Nuget打包在一起,然後將它們添加爲您項目的參考。這極大地幫助構建和部署。 此外,您應該嘗試使用vstest.console.exe來運行您的測試而不是mstest.exe。這些將位於代理安裝的目錄中。 – Ryanman

+0

謝謝@Ryanman。我很快就會試用Nuget套件。我已經在一些情況下嘗試過vstest.console.exe,並發現它很有用。我的團隊中一些黑盒QA人員表現出對自己運行我們的編碼UI測試的興趣,我也希望他們這樣做,這樣我就可以有更多的空閒時間進行實驗和學習有趣的事情,而不是運行測試並觀察它們。我想讓他們通過MTM運行編碼UI測試。誰需要測試儀機器上的完整Visual Studio! –

相關問題