NUNIT 3.10.1 C# 硒
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()
但驱动程序不再存在。您可以通过注释掉 CleanUp()
.
中的 driver.Close();
行来验证这一点
您的代码应该更像
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");
}
...
我只能执行第一个测试方法。即使代码正确,所有后续测试方法都无法执行。有关错误消息,请参见附图。使用 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()
但驱动程序不再存在。您可以通过注释掉 CleanUp()
.
driver.Close();
行来验证这一点
您的代码应该更像
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");
}
...