2017-04-15 25 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; 
     } 
    } 

unittestのクラス

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

はいJohnブラウザがポップアップし、テキストボックスの値を入力するようなロジックを自動化する必要があります。起動後に突然停止するのはどういう予期ですか?私は実際には、アプリケーション "BankingSite"が私のユニットテストプロジェクトによって呼び出されていないと思います。私は、スタンドアロンプ​​ロジェクトとしてBankingSiteを実行しようとしました。 –

関連する問題