从命令行使用Microsoft.Expression.Encoder运行selenium webdriver C#test

时间:2014-02-12 11:10:40

标签: c# selenium nunit browser-automation

我正在开发一个基于Selenium webdriver的C#NUnit项目,在那里我有几个测试,它们使用Microsoft.Expression.Encoder.dll截取每个测试场景的截图并录制视频。 我打算使用下面的代码示例从命令行运行这些测试。

nunit-console /run:MyProject.Tests.SampleTest MyProject.dll

由于我的项目是在.NET Framework 4.0上构建的,所以我使用下面的设置行更新了nunit的配置文件以使用框架4.0。

<supportedRuntime version="v4.0.30319" />

我的问题是,当我尝试运行测试时,我得到以下错误。我尝试在x86和x64模式下构建项目,但问题仍然存在。

  

错误和失败:   1)测试错误:MyProject.Tests.SampleTest      System.BadImageFormatException:无法加载文件或程序集“Microsoft.Expression.Encoder,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。试图加载格式不正确的程序。

我还尝试运行一个简单的测试,从命令行运行良好。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。由于我在我的项目中使用Microsoft.Expression.Encoder DLL来进行视频记录测试,因此将此DLL编译为x86。因此,我可以将我的selenium C#项目保持在任何CPU模式,并使用以下命令执行测试。

nunit-console-x86 /run:MyProject.Tests.SampleTest MyProject.dll

Nunit文件夹有两个“nunit-console”exes nunit-console.exe nunit-console-x86.exe < / p>