Я использовал Selenium и NUnit для автоматического тестирования, и до сих пор все было хорошо. Внесенное мной недавно изменение добавило более одного теста в класс тестирования.
Я довольно уверен, что проблема связана с кодом в моей функции "Teardown" в тестовом классе. Когда я комментирую
BrowserFactory.CloseAllDrivers();
Все идет хорошо.
Это код моего "FrontEndAddItemToCartTest":
class FrontEndAddItemToCartTest : PageTest
{
[SetUp]
public void Initialize()
{
SetBrowser(BrowserFactory.BrowserType.Chrome); // Not headless
SetServer("testUrlNotGivenForSecurityPurposes");
StartTest(TestType.FrontEnd);
SetSize(MobileSize.XXLarge);
}
[Test]
public void StandardQuantityTest()
{
OrderItem standardQuantity = new OrderItem(new Product("500", ".25"), 500);
FrontEndActions.AddItemToCart(standardQuantity);
}
[Test]
public void CustomQuantityTest()
{
OrderItem customQuantity = new OrderItem(new Product("482", ".25"), 225);
FrontEndActions.AddItemToCart(customQuantity);
}
[TearDown]
public void EndTest()
{
BrowserFactory.CloseAllDrivers();
}
}
Это ошибка, которую я получаю:
Message: OpenQA.Selenium.WebDriverException : Unexpected error. System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it
с кучей других вещей, которые я не считаю актуальными.
При этом у меня есть код в "SetBrowser (...)", который инициализирует
new ChromeDriver();
но этого, кажется, недостаточно.
Существуют методы наверху, чтобы избежать необходимости делать слишком много вещей, похожих на Selenium-y, в каждом из тестов - чтобы сделать вещи более удобными для обслуживания другими людьми, а не только мной, - но это то, что вы ожидаете от обычной установки драйвера , Я не уверен, почему именно второй тест является причиной проблемы, но так как все работает без запуска CloseAllDrivers()
, я представляю, что это так.