问题标签 [picocontainer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用具有缓存行为的工厂方法配置 PicoContainer
我想通过为 PicoContainer 提供一个工厂方法(如@Provides
Guice 中的方法)来配置 PicoContainer,以便在每次我(重新)启动容器时创建一个新实例。这里的要点是我需要该实例在每个周期中都是一个单例,换句话说,我希望它被缓存。
java - 添加实例和缓存的区别
这两个代码有什么区别?它们都产生相同的结果。
使用缓存:
添加实例:
java - Shared WebDriver 在使用 PicoContainer 的第二种情况下变为空
我在这里使用了公认的解决方案并提出了以下代码:
参考图书馆:
特征:
基本步骤:
步骤A:
但是,驱动程序在 ScenarioA 之后“死亡”并在tearDown()
ScenarioB 的 Given 步骤中变为 null(两种场景都使用相同的 Given)。我没有使用 Maven。
java - 在 Cucumber 中的步骤定义之间共享状态
我有 4 个步骤定义类和一组域对象类。我的第一步定义类如下所示:
我的 Claim 类如下所示:
我的第二步定义类如下所示:
我已经在我的 POM.XML 中导入了 picocontainer 依赖项,并且收到以下错误。
对于“class java.lang.String”来说,3 个可满足的构造函数太多了。构造函数列表:[(Buffer), (Builder), ()]
我的步骤定义类构造函数都没有接收原语作为参数。有没有人知道为什么我仍然收到该错误?会不会是我的业务对象构造函数在其构造函数中期望一个字符串?
提前感谢您的帮助。
java - 将picocontainer jar添加到java构建路径时找不到黄瓜框架场景
我正在尝试使用多个步骤定义文件构建 Cucumber BDD 框架。我仍在尝试了解如何使用 picocontainer 运行步骤定义文件。我的问题是,一旦我将 picocontainer jar 添加到项目的构建路径中,在执行测试运行程序时,它无法找到任何场景或步骤。
安慰
Java项目构建路径
我的项目包含:
我的功能文件有以下步骤:
前 2 个小黄瓜步骤与以下步骤定义类中的方法绑定:
第三个小黄瓜步骤粘在这个单独的步骤 def 类上:
从测试运行器执行测试时,运行器不会找到任何场景或步骤:
来自 Testrunner 的控制台结果
但是,当我删除 picocontainer 时,会找到场景和步骤。这将给我留下无法使用共享状态 Webdriver 的原始问题。
删除 picocontainer jar 后的测试运行
我知道在这个项目中,我还没有设置一个包含共享状态 Webdriver 的类,以及步骤定义页面上的构造函数。我有另一个项目受到同样问题的影响,但我觉得如果我使用那个例子会使这个问题变得更加复杂。
selenium - 使用 PicoContainer 在 Cucumber 步骤定义之间实现共享测试上下文后面临的问题
我已经使用 PicoContainer 在 Cucumber 步骤定义之间实现了一个共享的测试上下文。
请在下面的共享驱动器中找到我编写的完整代码。
https://drive.google.com/file/d/1bBxOJDW7auqN_CX9tc0KEDo-TiPzew6m/view?usp=sharing
在实现 PicoContainer 之前,我只有一个 Step 定义类,在实现它之后,我为 Home Page 和 Login Page 创建了两个单独的 step def 类。
请找到我正在自动化的以下功能。在我实现共享测试上下文后,只有第一个场景成功运行,而运行第二个场景新浏览器正在打开,然后出现 NullPointerException 失败。
请帮我解决这个问题..
java - Pico 容器异常:org.picocontainer.injectors.AbstractInjector$UnsatisfiableDependenciesException:?
我似乎得到了一个 pico 容器异常:org.picocontainer.injectors.AbstractInjector$UnsatisfiableDependenciesException。
我的代码如下:
代表网站特定页面的页面对象:
步骤类:
POM 依赖项:
出于某种原因,在执行我的功能文件时,我似乎收到以下异常任何想法?
java - 依赖注入 - Cucumber Pico 容器
在我的情况下,我很难理解和使用依赖注入。我想使用 Pico 容器(https://cucumber.io/blog/2015/07/08/polymorphic-step-definitions)。
这是我的情况......我目前有一个包含我所有硒的一步定义类,而且它变得太大了:
现在我希望有一个包含我的驱动程序、POM 和 Hooks 的类:
另一个包含 my@Given
的类,一个包含 my 的类@When
,以及一个包含 my 的类@Then
然后我需要正确连接所有内容,以便所有类都可以使用驱动程序、挂钩和 POM。Cucumber 不支持继承,所以接口或依赖注入(Pico Container)是要走的路。我不知道该怎么做,而且我在网上学习过,我只是无法用我可怜的大脑来解决这一切。
selenium-webdriver - 在 cucumber-jvm 中使用依赖注入是否考虑不好的做法?
我对 Cucumber-jvm/Selenium 还是很陌生,所以如果这个问题听起来很愚蠢,我很抱歉。
背景:我是一家大公司的实习生。我正在为产品进行自动化软件测试。已经有一个现有的自动化测试步骤。我们要做的是扩展项目并添加我们自己的步骤。问题是几乎所有步骤都有相同的钩子方法。我之前问过一个关于如何避免运行钩子方法的问题,一个非常好的人说在钩子方法上使用标签。那是在我发现之前项目中几乎所有的钩子方法都差不多之前。这让我觉得它不是很快/优化,因为如果钩子方法是全局的,那么每次我运行一个特性文件时,它都会执行所有相同的钩子方法。经过几天的编码和研究,我发现使用 picocontainer 进行依赖注入,我认为这是解决当前问题的好方法,但我读了一些文章说依赖注入被认为是一种不好的做法。
我的问题:考虑我上面所说的,在 cucumber-jvm 中使用 picocontainer 的依赖注入是否考虑不好的做法?如果是,是否有更好的解决方案?
(可选背景)我认为这并不重要,但我只是将其包括在内,每个步骤中几乎 95% 的钩子方法:
maven - 在黄瓜 picocontainer 中获取空指针异常
我正在尝试使用 picocontainer 将 webdriver 传递到我的步骤定义中,但得到空指针
请参阅下面我的实用程序类,其中将 webdriver 实例声明为 public:-
请参考下面我的实用程序类,该类具有调用和销毁驱动程序实例的钩子:-
我的功能文件描述如下: -
特征文件对应的步骤定义文件如下:-
我的跑步者文件如下: -
我的 POM 文件如下所示:-
给出错误的行号是因为驱动程序在下面突出显示的行中为空:-