protected override void PostTestInit(object sender, PluginEventArgs e)
        {
            RetryFailedRequestsInfo retryFailedRequestsInfo = GetRetryFailedRequestsInfo(e.TestMethodMemberInfo);

            if (retryFailedRequestsInfo != null)
            {
                var client = e.Container.Resolve <ApiClientService>();
                client.PauseBetweenFailures = TimeSpanConverter.Convert(retryFailedRequestsInfo.PauseBetweenFailures, retryFailedRequestsInfo.TimeUnit);
                client.MaxRetryAttempts     = retryFailedRequestsInfo.MaxRetryAttempts;
            }
        }
        protected override void PostBeforeScenario(object sender, TestWorkflowPluginEventArgs e)
        {
            var retryFailedRequestsInfo = new RetryFailedRequestsInfo()
            {
                MaxRetryAttempts     = _maxRetryAttempts,
                PauseBetweenFailures = _pauseBetweenFailures,
                TimeUnit             = _timeUnit,
            };

            var client = ServicesCollection.Current.Resolve <ApiClientService>();

            client.PauseBetweenFailures = TimeSpanConverter.Convert(retryFailedRequestsInfo.PauseBetweenFailures, retryFailedRequestsInfo.TimeUnit);
            client.MaxRetryAttempts     = retryFailedRequestsInfo.MaxRetryAttempts;
        }
        private RetryFailedRequestsInfo GetRetryFailedRequestsInfo(MemberInfo memberInfo)
        {
            RetryFailedRequestsInfo methodRetryFailedRequestsInfo = GetRetryFailedRequestsInfoByMethodInfo(memberInfo);
            RetryFailedRequestsInfo classRetryFailedRequestsInfo  = GetRetryFailedRequestsInfoByType(memberInfo.DeclaringType);

            if (methodRetryFailedRequestsInfo != null)
            {
                return(methodRetryFailedRequestsInfo);
            }
            else if (classRetryFailedRequestsInfo != null)
            {
                return(classRetryFailedRequestsInfo);
            }

            return(null);
        }