我在VB2015中使用最新版本的NUnit 3和Selenium 3。我目前有一个只创建驱动程序的类,一个设置和拆卸的基类,以及一些实际执行测试的类。我希望只能创建一个驱动程序实例,并通过几个不同的类“客户端,开发票,估算值等等,将它们的功能分组为我的测试。最后,我只需点击以运行一个实例webdriver的,它涵盖了在C#中保留一个WebDriver实例
不过,我不断收到一个webdriver的新情况下,每个I运行类(在本例中2),这里是我下面的样本:。
我的司机创造者:
public class DriverObject
{
protected static IWebDriver Driver { get; } = new ChromeDriver(options());
public static ChromeOptions options()
{
ChromeOptions info = new ChromeOptions();
info.AddArgument("--start-maximized");
return info;
}
}
我收集驱动程序的设置类:
[TestFixture]
public class SetupTestC : Release.DriverObject
{
[OneTimeSetUp]
public void SetupTest()
{
Driver.Navigate().GoToUrl("https://www.yahoo.com");
}
[OneTimeTearDown]
public void TearDown()
{
Driver.Quit();
}
}
其中一个测试类:
public partial class Client : TestStructure.SetupTestC
{
[Test]
public void test1()
{
By searchBtn = By.Id("uh-search-box");
Driver.FindElement(searchBtn).Click();
Driver.FindElement(searchBtn).SendKeys("This is a test search");
Thread.Sleep(2000);
}
}
我的其他测试类:
class Invoices : TestStructure.SetupTestC
{
[Test]
public void test2()
{
Assert.True(false);
}
}
我试图用一个类别标签的NUnit的3,但它似乎并不重要。
它在我看来像你需要传递你的驱动程序对象到你的测试类来保持相同的实例。 – Brian
这是一个很好的阅读,这将帮助你实现你所需要的东西:https://msdn.microsoft.com/en-us/library/ff650316.aspx –