Я пытаюсь выполнить большой набор тестов selenium через консольный консоль xUnit параллельно.Настройка selenium webdriver для параллельного выполнения
Они выполнены, и я вижу, что открываются 3 хромированных окна, однако первые команды отправки ключей просто выполняются 3 раза в одном окне, что приводит к ошибке теста.
Я зарегистрировал мой водитель в ObjectContainer перед каждым сценарием, как показано ниже:
[Binding]
public class WebDriverSupport
{
private readonly IObjectContainer _objectContainer;
public WebDriverSupport(IObjectContainer objectContainer)
{
_objectContainer = objectContainer;
}
[BeforeScenario]
public void InitializeWebDriver()
{
var driver = GetWebDriverFromAppConfig();
_objectContainer.RegisterInstanceAs<IWebDriver>(driver);
}
И затем вызвать водителя в моем шаге specflow определениях как:
_driver = (IWebDriver)ScenarioContext.Current.GetBindingInstance(typeof(IWebDriver));
ScenarioContext.Current.Add("Driver", _driver);
Однако это не имеет никакого значения и кажется, что мои тесты пытаются выполнить все команды одному драйверу.
Может ли кто-нибудь сообщить, где я поступил не так?
Возможно, просмотр содержимого 'GetWebDriverFromAppConfig();' был бы полезным, поскольку именно здесь вы фактически создаете экземпляр веб-драйвера, предположительно –
Привет, это просто метод, который возвращает драйвер на основе записи в приложении. конфигурации. В этом случае это хром-драйвер. – user3451887