使用页面对象模式设计时,驱动程序具有null值



当我从BasePage属性获取值时,驱动程序有一个空值:


public abstract class BasePage
{
public static IWebDriver Driver { get; }
public BasePage(IWebDriver driver)
{
}
}

驱动程序实例是在不同的类中创建的


[Binding]
public class WebDriverSupport
{
private readonly IObjectContainer objectContainer;
private ChromeDriver webdriver;
public WebDriverSupport(IObjectContainer objectContainer)
{
this.objectContainer = objectContainer;
}
[BeforeScenario]
public void InitializeWebDriver()
{
this.webdriver = new ChromeDriver();
objectContainer.RegisterInstanceAs<IWebDriver>(webdriver);
}
}

我认为我在实例开始之前就得到了值。你怎么说?由于所有调用都使用基类,这可能是个问题。

我通过解决了这个问题

1将集合添加到属性

public static IWebDriver Driver { get; set; }

2-将驱动程序id传递给BasePage。驱动

public void Initialize()
{
this.webdriver = new ChromeDriver();
BasePage.Driver = webdriver;
objectContainer.RegisterInstanceAs<IWebDriver>(this.webdriver);
}

相关内容

  • 没有找到相关文章

最新更新