2017-04-15 129 views
0

我正在做單元測試在我的項目中。當我嘗試單元測試我的方法時,瀏覽器彈出並突然停止,之後我得到一個很長的例外,我粘貼下面。 如何解決這個混亂,因爲我不知道是什麼原因?依賴項解析異常

例外:

https://paste.ubuntu.com/24389202/

BrowseHost類

public static class BrowserHost 
    { 
     public static readonly SelenoHost Instance = new SelenoHost(); 
     public static readonly String RootUrl; 
     static BrowserHost() 
     { 
      Instance.Run("BankingSite", 1468); 
      RootUrl= Instance.Application.Browser.Url; 
     } 
    } 

單元測試類

namespace BankingSite.FunctionalUITests 
{ 
    [TestFixture] 
    public class LoanApplicationTest 
    { 
     [Test] 
     public void ShouldAcceptLoanApplication() 
     { 
      BrowserHost.Instance 
       .Application.Browser 
       .Navigate() 
       .GoToUrl([email protected]"{BrowserHost.RootUrl}\LoanApplication\Apply"); 

      var firstNameBox = BrowserHost.Instance.Application 
       .Browser 
       .FindElement(By.Id("FirstName")); 
      firstNameBox.SendKeys("Gentry"); 

      var lastNameBox = BrowserHost.Instance. 
       Application. 
       Browser. 
       FindElement(By.Id("LastName")); 
      lastNameBox.SendKeys("Smith"); 

      var ageBox = BrowserHost.Instance 
       .Application 
       .Browser 
       .FindElement(By.Id("Age")); 
      ageBox.SendKeys("40"); 

      var incomeBox = BrowserHost.Instance 
       .Application 
       .Browser 
       .FindElement(By.Id("AnnualIncome")); 
      incomeBox.SendKeys("9999999"); 
      Thread.Sleep(10000); 

      var applyButton = BrowserHost.Instance 
       .Application 
       .Browser 
       .FindElement(By.Id("Applt")); 

      applyButton.Click(); 
      Thread.Sleep(10000); 

      var acceptMessageText = BrowserHost.Instance 
       .Application 
       .Browser 
       .FindElement(By.Id("acceptMessage")); 

      Assert.That(acceptMessageText, Is.EqualTo("Congratulations Gentry - Your Application was accepted!")); 
      Thread.Sleep(10000); 

     } 
    } 

以下是我直接瀏覽的URL的屏幕截圖。

enter image description here

回答

1

很難從您提供什麼告訴,但在堆棧跟蹤線索:

System.TypeInitializationException:爲「BankingSite.FunctionalUITests.BrowserHost的類型初始'拋出了一個例外。 ----> Autofac.Core.DependencyResolutionException:執行解析操作時拋出異常。有關詳細信息,請參閱InnerException。 --->不是數字(詳情請參閱內部異常。) ----> System.InvalidOperationException:不是一個數字

檢查構造函數BankingSite.FunctionalUITests.BrowserHost,看看你是否能找到引起該線錯誤。顯然它期望的是一個數值,但是卻收到了其他的東西。

+0

其實我正在關注一個Pluralsight代碼,我遵循同一行代碼。發生的一件奇怪事情是,每當我嘗試運行我的測試時,我的Firefox瀏覽器彈出我們,然後突然停止? –

+1

由於該類被稱爲'BrowserHost',我將猜測這個特定的UI測試會嘗試啓動瀏覽器並訪問頁面。所以那部分並不是那麼出乎意料。 –

+0

是的約翰瀏覽器應該彈出並自動化一些邏輯,如輸入一些文本框values.What意想不到的是它啓動後突然停止?我猜實際上應用程序「BankingSite」沒有被我的單元測試項目調用。我試圖將BankingSite作爲獨立項目運行,並且它工作正常嗎? –