无法解析基元类型或结构:System.String hook [AfterStep] specflow C#



在我的自动化中,我在运行自动测试时遇到问题,我需要使用钩子 [AfterStep] 输入参数的方法显示错误:

无法解析基元类型或结构:System.String BoDi.ObjectContainerException

但是测试代码,我意识到当我从方法中删除字符串参数时,错误停止发生,有人可以给我解决这个问题的方法吗?

[AfterStep]
        public static void InserirStepsNoRelatorio(string screenshotPath)
        {
            var TipoStep = ScenarioStepContext.Current.StepInfo.StepDefinitionType.ToString();

            PropertyInfo pInfo = typeof(ScenarioContext).GetProperty("ScenarioExecutionStatus", BindingFlags.Instance | BindingFlags.Public);
            MethodInfo getter = pInfo.GetGetMethod(nonPublic: true);
            object TestResult = getter.Invoke(ScenarioContext.Current, null);

            try
            {

                if (ScenarioContext.Current.TestError == null)
                {

                    if (TipoStep == "Given")
                    {
                        //objGeraScreenshot.TiraPrint(objUsaNavegador);
                        scenario.CreateNode<Given>(ScenarioStepContext.Current.StepInfo.Text).AddScreenCaptureFromPath(screenshotPath);
                    }

                    else if (TipoStep == "When")
                    {
                        scenario.CreateNode<When>(ScenarioStepContext.Current.StepInfo.Text).AddScreenCaptureFromPath(screenshotPath);
                    }
                    else if (TipoStep == "Then")
                        scenario.CreateNode<Then>(ScenarioStepContext.Current.StepInfo.Text).AddScreenCaptureFromPath(screenshotPath);
                    else if (TipoStep == "And")
                        scenario.CreateNode<And>(ScenarioStepContext.Current.StepInfo.Text).AddScreenCaptureFromPath(screenshotPath);
                }
                else if (ScenarioContext.Current.TestError != null)
                {
                    if (TipoStep == "Given")
                    {
                        var MensagemErroAtual = ScenarioContext.Current.TestError.Message;
                        scenario.CreateNode<Given>(ScenarioStepContext.Current.StepInfo.Text).Fail(MarkupHelper.CreateLabel(MensagemErroAtual, ExtentColor.Black)).AddScreenCaptureFromPath(screenshotPath);

                    }
                    else if (TipoStep == "When")
                    {
                        var MensagemErroAtual = ScenarioContext.Current.TestError.Message;
                        scenario.CreateNode<When>(ScenarioStepContext.Current.StepInfo.Text).Fail(MarkupHelper.CreateLabel(MensagemErroAtual, ExtentColor.Black)).AddScreenCaptureFromPath(screenshotPath);

                    }
                    else if (TipoStep == "Then")
                    {
                        var MensagemErroAtual = ScenarioContext.Current.TestError.Message;
                        scenario.CreateNode<Then>(ScenarioStepContext.Current.StepInfo.Text).Fail(MarkupHelper.CreateLabel(MensagemErroAtual, ExtentColor.Black)).AddScreenCaptureFromPath(screenshotPath);
                    }
                }

                //else if (ScenarioStepContext.Current.StepInfo.StepDefinitionType. != null)
                //Pending Status
                if (TestResult.ToString() == "StepDefinitionPending")
                {
                    if (TipoStep == "Given")
                        scenario.CreateNode<Given>(ScenarioStepContext.Current.StepInfo.Text).Skip(MarkupHelper.CreateLabel("Step Pendente de Desenvolvimento", ExtentColor.Blue));
                    else if (TipoStep == "When")
                        scenario.CreateNode<When>(ScenarioStepContext.Current.StepInfo.Text).Skip(MarkupHelper.CreateLabel("Step Pendente de Desenvolvimento", ExtentColor.Blue));
                    else if (TipoStep == "Then")
                        scenario.CreateNode<Then>(ScenarioStepContext.Current.StepInfo.Text).Skip(MarkupHelper.CreateLabel("Step Pendente de Desenvolvimento", ExtentColor.Blue));
                }
            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }
        }

根据类似的问题,您可能无法通过传递参数来解决此问题string。您可能需要使用propertiescustom type

相关内容

  • 没有找到相关文章

最新更新