首页 > 解决方案 > 如何从 specflow 挂钩访问另一个类的方法

问题描述

我有一个基类,它具有所有常用方法,如登录、注销。我想在我的钩子中使用这些常用方法,怎么做。

钩子和基类位于不同的命名空间中,我已经在钩子中导入了基类的空间。我的钩子

    [BeforeScenario("tag")]
                public void TestSetupAdminUser()
                {
                    string BrowserName = Configapp["Connection:Browser"];
                    IWebDriver driver = 
                   DriverFactory.InitDriver(BrowserName);

                    driver.Navigate().GoToUrl(Configapp["Connection:Url"]);
                    driver.Manage().Window.Maximize();
                    if (??.IsLogoutVisible()

我想在这里从我的基类访问 IsLogoutVisible() 方法,我该怎么做呢??是关于如何访问该方法的问题。

if (??.IsLogoutVisible() && propertyName != "abc")

我的基类只有 1 个静态成员,因此在钩子构造函数中基类的上下文注入不起作用。

private   static  IWebDriver driver = DriverFactory.Driver;

标签: c#seleniumspecflow

解决方案


我相信您正在寻找上下文注入。请你看看下面的视频。如果这不起作用,那么在 c# 中查找依赖注入可能会对您有所帮助:) https://youtu.be/-PtPcWMtIGc


推荐阅读