从BeforeTestRunHook SpecFlow在FeatureContext中设置BrowserSession

问题描述 投票:0回答:1

初学者在这里使用SpecFlow和c#。

我正在尝试将我的登录步骤从BeforeFeature移动到BeforeTestRun以用于学校项目,并且我无法在BeforeTestRun挂钩期间在FeatureContext中设置BrowserSession。

我收到此错误:

System.NullReferenceException:未将对象引用设置为对象的实例。

    public sealed class Hooks
    {        
        [BeforeTestRun]
        public static void BeforeTestRun()
        {
        FeatureContextWrapper.BrowserSession = BrowserFactory.GetBrowser();
        }
    }

FeatureContextwrapper.cs

    public class FeatureContextWrapper
    {
        public static BrowserSession BrowserSession
        {
        get { return (BrowserSession)FeatureContext.Current["BrowserSession"]; }
        set { FeatureContext.Current.Set(value, "BrowserSession"); }
        }
    }
c# .net specflow
1个回答
0
投票

尝试创建您创建的类的实例。像这样:

public sealed class Hooks
{        
    [BeforeTestRun]
    public static void BeforeTestRun()
    {
        FeatureContextWrapper myWrapper = new FeatureContextWrapper();
        myWrapper.BrowserSession = BrowserFactory.GetBrowser();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.