我正在我的项目中进行单元测试。当我尝试对我的方法进行单元测试时,会弹出一个浏览器并突然停止,之后我得到了一个长时间的异常,我粘贴了下面的内容。 如何解决这个烂摊子,因为我不知道原因是什么?
例外:
https://paste.ubuntu.com/24389202/
BrowseHost Class
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 Class
namespace BankingSite.FunctionalUITests
{
[TestFixture]
public class LoanApplicationTest
{
[Test]
public void ShouldAcceptLoanApplication()
{
BrowserHost.Instance
.Application.Browser
.Navigate()
.GoToUrl($@"{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);
}
}
以下是我正在直接浏览的网址的屏幕截图。
答案 0 :(得分:1)
很难说清楚你提供了什么,但是堆栈跟踪中有一条线索:
System.TypeInitializationException:'BankingSite.FunctionalUITests.BrowserHost'的类型初始值设定项引发异常。 ----> Autofac.Core.DependencyResolutionException:执行解析操作时抛出异常。有关详细信息,请参阅InnerException。 --->不是数字(详见内部异常。) ----> System.InvalidOperationException:不是数字
检查BankingSite.FunctionalUITests.BrowserHost
的构造函数,看看是否可以找到导致错误的行。显然,它期待一个数值,但却收到了别的东西。