[英]NUNIT 3.10.1 C# Selenium
我只能執行第一個測試方法。 即使代碼正確,所有后續的測試方法也無法執行。 有關錯誤消息,請參閱附加圖像。 使用 test.sdk(15.8.0)、NUNIT(3.10.1)、Selenium.WebDriver(3.13.0)、Selenium.IEDriverServer.win64(3.9.0)、Selenium.InternetExplorer.WebDriver(3.3.0)
using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.IE;
using System;
using OpenQA.Selenium.Interactions;
using System.Threading;
namespace Tests
{
public class LandingPage
{
IWebDriver driver = new InternetExplorerDriver("C:\\Users\\M\\Desktop\\SL\\SLAutomation\\Core\\CoreLandingPage\\CoreLandingPage\\CoreLandingPage\\Drivers\\");
[SetUp]
public void Initialize()
{
driver.Navigate().GoToUrl("http://www.google.com");
Console.WriteLine("Opened URL");
}
[Test]
public void TestCase1()
{
Assert.That(2+2, Is.EqualTo(4));
Console.WriteLine("Test case 1");
}
[Test]
public void TestCase2()
{
Assert.That(2 * 2, Is.EqualTo(4));
Console.WriteLine("Test case 2");
}
[TearDown]
public void CleanUp()
{
driver.Close();
Console.WriteLine("Closed Browser");
}
}
}
您需要在帶有 [SetUp] 標記的方法Initialize()
實例化驅動程序。 發生錯誤是因為在TestCase1()
結束時,調用CleanUp()
並關閉驅動程序。 然后TestCase2()
出現並調用Initialize()
但驅動程序不再存在。 您可以通過注釋掉driver.Close();
來驗證這一點driver.Close();
CleanUp()
。
你的代碼應該看起來更像
public class LandingPage
{
IWebDriver driver;
[SetUp]
public void Initialize()
{
driver = new InternetExplorerDriver("C:\\Users\\M\\Desktop\\SL\\SLAutomation\\Core\\CoreLandingPage\\CoreLandingPage\\CoreLandingPage\\Drivers\\");
driver.Navigate().GoToUrl("http://www.google.com");
Console.WriteLine("Opened URL");
}
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.