- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一套用 C# 编写的 Webdriver 测试,我使用 MSTest 作为运行器。此时 NUnit 不是一个选项,所以我需要弄清楚如何让它与当前配置一起工作。对于 CI,我使用 Jenkins ver。 1.514。我无法控制正在安装什么插件或何时更新 Jenkins,如果询问这样的事情可能会导致不同团队的漫长等待和审批流程(讨厌二元论)。
所以..我有一些定义如下的 DataDriven 测试(我将粘贴其中一个)
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "UsersData.csv", "UsersData#csv", DataAccessMethod.Sequential)]
[TestMethod()]
public void Test_Login()
{
Logger.Info("");
Logger.Info("-----------------------------------------------------------------");
所以,这应该很清楚,我正在使用 UsersData.csv 文件,该文件位于我项目的 TestData 文件夹中。为了在 Jenkins 中运行这个测试,我曾经使用这个命令行
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).
但是如果我登录到运行从站的机器并运行相同的命令,它似乎找到了数据源文件并且 ir 运行正常。
此外,我安装了 psexec 并将命令放入 *.bat 文件中,然后我从 ps exec 中调用此文件,如下所示:
psexec \\my_IP -u "machine-name\jenkins-local" -p "password" cmd /C call "%WORKSPACE%\Selenium\msteststart.bat"
这似乎有效,但我没有登录 Jenkins,如果我将它重定向到一个文件,那么每当另一个构建开始并删除工作区时,文件就会丢失,所以我只有最后一个版本文件的一部分,我无法将它与其他版本进行比较。
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>
如果有人能就此给我提示,我将不胜感激。谢谢
最佳答案
可能是
正如您所说,您设法使用 psexec 让它工作,解决方法是在运行作业的同一台机器上生成文件,并将生成的日志文件存档为工件。 Jenkins 会跟踪它。
如果您更喜欢尝试在控制台中输出,也许要应用控制台解析,您还可以使 psexec 命令在构建后将文件输出到控制台(通过在运行后键入它),或者使用这个类似 tee 的批处理命令来设法让 psexec 将它所做的输出到 jenkins 控制台:Using a custom Tee command for .bat file
并且不要忘记捕获标准错误!
关于c# - 为什么在使用 MSTest 时 DataDriven 测试不再在 Jenkins 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18104857/
我正在编写一个 C# 应用程序来使用 TAEF 文档中描述的“数据驱动方法”读取 XML。 https://msdn.microsoft.com/en-us/library/windows/hardw
我有一套用 C# 编写的 Webdriver 测试,我使用 MSTest 作为运行器。此时 NUnit 不是一个选项,所以我需要弄清楚如何让它与当前配置一起工作。对于 CI,我使用 Jenkins v
我是一名优秀的程序员,十分优秀!