我尝试从MSBuild执行编码的UI测试(BrowserWindow.CurrentBrowser = "firefox";
),但“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(Hottowel from John Papa)的测试场景,其中包含下一个版本:
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
答案 0 :(得分:0)
我在我的另一台机器上看到了类似的问题。它没有在我的一台机器上运行的原因是从未打开时新安装的firefox。手动打开firefox后,脚本运行正常。