类之间的 Webdriver 继承
Webdriver inheritance between clases
问题可能真的很微不足道,但我无法正确处理。我将 Selenium 与 NUnit 一起使用,有两个类:
1) "DemoTest" 其中涉及一个简单的测试 "DummyTest":
public class DemoTest : TestBase
{
public class RunTest
{
[Test, Category("Main-Tests"), Order(1)]
public void DummyTest()
{
}
}
}
2) "Test base" class 我想放置所有 NUnit/驱动程序属性的地方,例如:"SetUp" / "TearDown"
[TestFixture]
public class TestBase
{
public IWebDriver driver;
public IWebDriver Driver
{
get { return driver; }
set { driver = value; }
}
public string pageURL = "http://automationpractice.com/";
[SetUp]
public void SetUp()
{
driver = new ChromeDriver();
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(15);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(0);
driver.Navigate().GoToUrl(pageURL);
}
[TearDown]
public void TearDown()
{
driver.Close();
driver.Dispose();
}
}
}
由于声明了 NUnit 属性(设置部分),我从 DemoTest class 进行的测试应该至少在 pageURL 变量下的页面上移动。
结果是 运行 测试后直接跳转到 "passed" 而没有打开指定地址。
"DemoTest" 继承自 "Test base" class。 Nuget 包已正确安装。当我在 "Test base" class 中放置测试时,一切正常,但我想将它分开。
尝试修复 DemoTest class 如下:
[TestFixture]
public class DemoTest : TestBase
{
[Test, Category("Main-Tests"), Order(1)]
public void DummyTest()
{
}
}
问题可能真的很微不足道,但我无法正确处理。我将 Selenium 与 NUnit 一起使用,有两个类:
1) "DemoTest" 其中涉及一个简单的测试 "DummyTest":
public class DemoTest : TestBase
{
public class RunTest
{
[Test, Category("Main-Tests"), Order(1)]
public void DummyTest()
{
}
}
}
2) "Test base" class 我想放置所有 NUnit/驱动程序属性的地方,例如:"SetUp" / "TearDown"
[TestFixture]
public class TestBase
{
public IWebDriver driver;
public IWebDriver Driver
{
get { return driver; }
set { driver = value; }
}
public string pageURL = "http://automationpractice.com/";
[SetUp]
public void SetUp()
{
driver = new ChromeDriver();
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(15);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(0);
driver.Navigate().GoToUrl(pageURL);
}
[TearDown]
public void TearDown()
{
driver.Close();
driver.Dispose();
}
}
}
由于声明了 NUnit 属性(设置部分),我从 DemoTest class 进行的测试应该至少在 pageURL 变量下的页面上移动。
结果是 运行 测试后直接跳转到 "passed" 而没有打开指定地址。
"DemoTest" 继承自 "Test base" class。 Nuget 包已正确安装。当我在 "Test base" class 中放置测试时,一切正常,但我想将它分开。
尝试修复 DemoTest class 如下:
[TestFixture]
public class DemoTest : TestBase
{
[Test, Category("Main-Tests"), Order(1)]
public void DummyTest()
{
}
}