У меня есть разные тестовые классы, которые оба вызывают мой базовый класс, который инициализирует, а затем удаляет браузер Chrome.
Когда я запускаю их по отдельности, никаких проблем.Тем не менее, когда я запускаю их одновременно.У меня есть два браузера, которые открываются почти сразу, и фокусируется на том, какие тесты используют, какой браузер перепутан.Поэтому я никогда не знаю, какие тесты пройдут / не пройдут ... но один класс гарантированно провалится!
Я знаю, что это будет только хуже, когда я добавлю больше классов, поэтому я пытаюсь выяснить это сейчас,
public class BaseTest : IDisposable
{
public BaseTest()
{
Browser.Initialize();
}
public void Dispose()
{
Browser.Close();
}
}
public static class Browser
{
private static IWebDriver _driver;
public static ISearchContext Driver => _driver;
public static void Initialize()
{
_driver = new ChromeDriver(PathToChromeDriverHere);
_driver.Navigate().GoToUrl("https://websitehere.com");
}
public static void Close()
{
_driver.Quit();
}
}
public class LoginTests : IClassFixture<BaseTest>
{
[Fact(DisplayName = "A user logs in")]
public void CanLogin()
{
Stuff is clicked
Assert happens here
}
}
public class DoStuffOnSiteTests : IClassFixture<BaseTest>
{
[Fact(DisplayName = "A user does stuff on screen")]
public void CanDoThings()
{
Stuff is clicked
Assert happens here
}
}