Наследование веб-драйвера между предложениями - PullRequest
0 голосов
/ 16 января 2020

Вопрос, вероятно, действительно тривиален, но я не могу справиться с ним должным образом. Я использую Selenium с NUnit, имея два предложения:

1) "DemoTest", который включает в себя один простой тест "DummyTest":

    public class DemoTest : TestBase
    {
        public class RunTest
        {
            [Test, Category("Main-Tests"), Order(1)]
            public void DummyTest()
            {
            }
        }
    }

2) Класс "Test base", где я хочу разместить все атрибуты 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 (раздел SetUp), мой тест из класса DemoTest должен по крайней мере, перейти на страницу в переменной pageURL.

В результате после запуска теста он сразу переходит на «пройден», не открывая указанный адрес.

«DemoTest» наследуется от класса «Test base». Пакеты Nuget установлены правильно. Когда я помещаю тест в класс «Тестовая база», все работает правильно, но я хочу его разделить.

1 Ответ

1 голос
/ 21 января 2020

Попробуйте исправить DemoTest класс следующим образом:

[TestFixture]
public class DemoTest : TestBase
{
    [Test, Category("Main-Tests"), Order(1)]
    public void DummyTest()
    {
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...