0

我尝试BrowserWindow.CurrentBrowser = "firefox";从 MSBuild 执行编码的 UI 测试 (),但“firefox”从未启动,并且构建失败显示下一个错误:

Test method SolutionX.UITests.NewTestUIX.NewtTestMethod threw exception:
System.NullReferenceException: Object reference not set to an instance of an object.

错误详情:

    Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowserProxy.ProxyFirefoxDriver.<>c__DisplayClass54.<.ctor>b__52()
Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowserProxy.FuncInvoker.InvokeMethod[T](Func`1 function)
Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowserProxy.ProxyFirefoxDriver..ctor(ProxyFirefoxProfile profile)
Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowser.BrowserServices.FirefoxBrowserService.InitializeWebDriver(String[] args)
Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowser.CrossBrowserService.<.cctor>b__1(String[] args)
Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowser.CrossBrowserService.Launch(Uri uri)
Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowser.CrossBrowserFactory.Launch(Uri uri)
Microsoft.VisualStudio.TestTools.UITesting.BrowserWindow.LaunchPrivate(Uri uri)
Microsoft.VisualStudio.TestTools.UITesting.BrowserWindow.<>c__DisplayClass3d.<Launch>b__3c()
Microsoft.VisualStudio.TestTools.UITesting.CodedUITestMethodInvoker.InvokeMethod[T](Func`1 function, UITestControl control, Boolean firePlaybackErrorEvent, Boolean logAsAction)
Microsoft.VisualStudio.TestTools.UITesting.BrowserWindow.Launch(Uri uri)
SolutionX.UITests.UIMap.StartApp() in c:\SolutionX\Builds\Agent1\SolutionX\IntegrationSolutionX\Sources\SolutionX.UITests\UIMap.Designer.cs: line 1334
SolutionX.UITests.NewTestUIX.NewtTestMethod() in c:\SolutionX\Builds\Agent1\SolutionX\IntegrationSolutionX\Sources\SolutionX.UITests\NewTestUIX.cs: line 33

但后来我尝试使用“chrome”,它工作正常,错误只出现在“firefox”中。

在我的本地机器中使用“firefox”进行的编码 UI 测试工作正常,但来自 MSBuild 的测试不起作用。

我有一个带有 SPA 的测试场景(来自 John Papa 的 Hottowel)和下一个版本:

I use Breeze 1.4.5, Durandal 2.0.1, Knockout 3.0.0, Bootstrap 3.0, jquery 2.0.3

我有下一个版本:

Firefox 25
Google Chrome 29.0.1547.76 m
chromedriver_win32_2.3
selenium-dotnet-strongnamed-2.35.0
VS2013
Machine of build: Windows Server 2012
4

1 回答 1

0

我在我的一台机器上看到了类似的问题,它在另一台机器上工作。它无法在我的一台机器上运行的原因是从未打开过的全新安装的 Firefox。手动打开firefox一次后,脚本运行良好。

于 2015-06-12T19:28:18.260 回答