IWebDriver的Specflow上下文注入失败

码头·格温

我们有一组使用Specflow和Selenium WebDriver运行的UI测试。一夜之间,这些程序突然停止工作,现在在每种情况下都会引发以下错误:


BoDi.ObjectContainerException:无法解析接口:OpenQA.Selenium.IWebDriver(解析路径:Steps类

我们正在使用Specflow上下文注入在每个场景之前注册我们的Web驱动程序,然后在每个步骤类中使用它:

[Binding]
public class Base
{
    private readonly IObjectContainer _objectContainer;
    private IWebDriver _webDriver;

    public Base(IObjectContainer objectContainer)
    {
        _objectContainer = objectContainer;
    }

    [BeforeScenario]
    public void Setup()
    {
       _webDriver = new ChromeDriver();
       _objectContainer.RegisterInstanceAs<IWebDriver>(_webDriver);
    }

    ....
}

步骤文件:

[Binding]
public class ProductSteps : TechTalk.SpecFlow.Steps
{
    private readonly IWebDriver _driver;

    public ProductSteps(IWebDriver driver)
    {
        _driver = driver;
    }
}

在线查看Specflow文档,我看不到任何错误-而且也几乎看不到其他任何有此问题的人!

我花了相当多的时间试图深入浅出,但没有任何运气。

我们将NUnit用作测试运行程序,并通过nuget获得所有最新更新。

加斯帕尔·纳吉(Gaspar Nagy)

我的猜测是,您在ProductSteps类上还有另一个BeforeScenario钩子,该钩子可能会更早运行,并比其他BeforeScenatio触发时更早地创建实例,因此尚未注册Web驱动程序。

您可以控制挂钩的执行顺序,你可以使用Order属性的参数(见http://www.specflow.org/documentation/Hooks/[BeforeScenario(Order = 0)]

您也可以在http://gasparnagy.com/2016/08/specflow-tips-customizing-dependency-injection-with-autofac/查看我的文章,文章使用Autofac提供了更健壮的解决方案,具有更复杂的依赖关系。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Spring上下文中注入模拟

来自分类Dev

失败-上下文路径中已部署的应用程序/但上下文无法启动

来自分类Dev

使用Netty在Resteasy测试中注入上下文数据

来自分类Dev

以编程方式将Bean注入CDI上下文?

来自分类Dev

isGooglePlayServicesAvailable的上下文(上下文上下文)

来自分类Dev

上下文注入和BeforeFeature挂钩

来自分类Dev

Spock:如何获取失败测试的上下文?

来自分类Dev

如何将对象注入jersey请求上下文?

来自分类Dev

Light在MVC中注入数据库上下文

来自分类Dev

如何从测试中注入上下文

来自分类Dev

Spring Boot:注入自定义上下文路径

来自分类Dev

上下文初始化失败

来自分类Dev

将自定义服务注入Behat上下文

来自分类Dev

构造函数中上下文类的依赖注入

来自分类Dev

在Python中上下文注入静态类属性

来自分类Dev

specflow生成上下文菜单中缺少的步骤定义

来自分类Dev

将上下文注入这样的eventlet线程是否安全?

来自分类Dev

IWebDriver的Specflow上下文注入失败

来自分类Dev

如何通过上下文注入共享SpecFlow中的步骤绑定类

来自分类Dev

Kotlin对象中的Dagger 2注入上下文

来自分类Dev

Kubernetes部署因上下文而失败

来自分类Dev

Specflow上下文注入

来自分类Dev

上下文未正确注入

来自分类Dev

依赖注入到Spring Servlet上下文(OncePerRequestFilter)

来自分类Dev

使用Hilt注入上下文:此字段泄漏上下文对象

来自分类Dev

以编程方式将Bean注入CDI上下文?

来自分类Dev

上下文注入和BeforeFeature挂钩

来自分类Dev

上下文创建失败

来自分类Dev

Django - 将上下文注入 base.html