2016-10-09 1 views
0

У меня есть платформа Weba utomation, и я добавляю несколько сценариев тестирования уровня API. В моих «Крюках» «После шага» я хочу, чтобы он работал для тестирования уровня API. например, не переходите к умолчанию «После шага». Как я могу это сделать ?Как запускать специальные контуры AfterStep только для особого сценария

Я добавил тег на уровень функциональности и попытался использовать этот тег, но он по-прежнему будет старым Afterstep.

[AfterStep("@API1")] 
    public static void AfterSteps() 

    { 

    } 

оригинальный Afterstep

[AfterStep] 
    public static void AfterStep() 
    { 
    } 

конечно мне нужно изменить имя метода, чтобы "Aftersteps" для моих новых крючков Afterstep.

Пожалуйста, помогите мне, что здесь не так?

+0

Можете ли вы объяснить более, что крюк «AfterStep» делает? Возможно, вам будет лучше с 'Given' в начале вашего сценария или вместо этого добавить несколько шагов к« Background ». –

+0

@GregBurghardt: - Мой последующий шаг - это просто выйти из браузера и очистить файлы cookie и кеш. Однако при тестировании API мы не хотим открывать браузер. в моем Aftestep у нас есть класс Pagemanager, который вызовет браузер. так что в основном с тегом API я просто избегаю моих тестов, чтобы перейти к умолчанию Afterstep. Дайте мне знать, если вам нужно больше объяснений? Также я на 100% уверен, что не хочу. – vic

ответ

1

По атрибуту вам не нужен @.
Так будет это делать:

[AfterStep("API1")] 
+0

: - Да, я понял, что нам не нужно @, и я удалил его. Однако мои тесты все еще проходят через оба крючка AftesStep. один с тегом API и без него. Так просто интересно, как мы можем это решить? – vic

0

Если вы не хотите, чтобы ваш Orignal AfterStep бежать, когда категория API1 установлен, используйте следующий код:

 if(ScenarioContext.Current.ScenarioInfo.Tags.Contains("API1")) 
     { 
      return; 
     } 
Смежные вопросы