ScenarioContext.Current является устаревшей ошибкой с использованием внедрения контекста - PullRequest
1 голос
/ 13 января 2020

Я следовал старому учебнику по селену и не могу запустить программу из-за этой ошибки. Это мой код:

namespace ProductAutomation.Utils.Hooks
{
    [Binding]
    public class ScenarioHooks
    {
        private readonly ScenarioContext _scenarioContext;

        public ScenarioHooks(ScenarioContext scenarioContext)
        {
            _scenarioContext = scenarioContext;
        }


        [BeforeScenario]
        public void StartWebDriver()
        {
            if (_scenarioContext.Current.ScenarioInfo.Tags.Contains("Chrome"))
            {
                DriverController.Instance.StartChrome("--disable-extensions");
            }
        }
    }
}

Я получаю следующие ошибки:

ScenarioContext.Current устарел. Получите ScenarioContext через внедрение контекста.

ScenarioContext.Current не может быть доступен с ссылкой на экземпляр; вместо этого укажите имя типа

1 Ответ

2 голосов
/ 13 января 2020

Вам необходимо заменить:

if (_scenarioContext.Current.ScenarioInfo.Tags.Contains("Chrome"))

на:

if (_scenarioContext.ScenarioInfo.Tags.Contains("Chrome"))

Я бы также предложил получить DriverContext через ContextInjection.


Ссылки

Вы можете найти пару соответствующих обсуждений в:


tl; dr

Подробную документацию можно найти в ScenarioContext

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...