我有一套Webdriver測試用C#編寫,我使用MSTest作爲跑步者。在這一點上NUnit不是一個選項,所以我需要弄清楚如何使它與當前配置一起工作。對於CI我正在使用Jenkins ver。 1.514。我無法控制插件的安裝情況,或者更新Jenkins時,如果問這樣的事情可能會導致不同團隊的漫長等待和批准過程(討厭birocracy)。爲什麼DataDriven測試在使用MSTest時不再運行在Jenkins上?
所以..我有定義如下幾個數據驅動測試(我會粘貼其中之一)
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "UsersData.csv", "UsersData#csv", DataAccessMethod.Sequential)]
[TestMethod()]
public void Test_Login()
{
Logger.Info("");
Logger.Info("-----------------------------------------------------------------");
所以,這應該是很清楚,我使用UsersData.csv文件,它放在我的項目的TestData文件夾中。要運行該測試在詹金斯,我用這個命令行
mstest /testmetadata:"%WORKSPACE%\SeleniumJenkins.vsmdi" /testlist:Jenkins /resultsfile:"%WORKSPACE%\AllTests_Jenkins.trx" /runconfig:"%WORKSPACE%\Local.testsettings" /detail:stdout
一切工作正常,但有一天,當我遇到這個錯誤的TRX結果文件:
The unit test adapter failed to connect to the data source or to read the data. For more information on troubleshooting this error, see "Troubleshooting Data-Driven Unit Tests" (http://go.microsoft.com/fwlink/?LinkId=62412) in the MSDN Library.Error details: The .Net Framework Data Providers require Microsoft Data Access Components(MDAC). Please install Microsoft Data Access Components(MDAC) version 2.6 or later.Retrieving the COM class factory for component with CLSID {2206CDB2-19C1-11D1-89E0-00C04FD7A829} failed due to the following error: 8007007e The specified module could not be found. (Exception from HRESULT: 0x8007007E).
但如果我登錄正在運行從機的計算機並運行相同的命令,看起來它發現DataSource文件和ir運行正常。
而且,我安裝PSEXEC和我把命令轉換爲* .bat文件,然後我打電話從PS EXEC這個文件是這樣的:
psexec \\my_IP -u "machine-name\jenkins-local" -p "password" cmd /C call "%WORKSPACE%\Selenium\msteststart.bat"
這似乎是工作,但我不得到任何登錄到詹金斯,如果我重定向到一個文件,然後每當另一個生成開始,擦除工作區文件丟失,所以我只有最後版本的文件,我不能比較它與其他生成。
的local.testsettings文件看起來是這樣的:
<?xml version="1.0" encoding="UTF-8"? >
<TestSettings name="Local" id="06505635-693a-4f31-b962-ecf8422b5eca" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are default test settings for a local test run.</Description>
<Deployment>
<DeploymentItem filename="Selenium\TestData\UsersData.csv" />
</Deployment>
<NamingScheme baseName="Selenium_" useDefault="false" />
<Execution>
<Timeouts testTimeout="10800000" />
<TestTypeSpecific>
<UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
<AssemblyResolution>
<TestDirectory useLoadContext="true" />
</AssemblyResolution>
</UnitTestRunConfig>
</TestTypeSpecific>
<AgentRule name="Execution Agents">
</AgentRule>
</Execution>
</TestSettings>
我將不勝感激,如果有人可以給我在這一個提示。由於