问题标签 [cucumber-serenity]
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.
cucumber - 在平静地运行黄瓜时面临问题
为了将 Cucumber 与 Serenity 集成,我在 Gardle 文件下创建了。Serenity 工作正常,但我无法将它与 Cucumber 一起使用。当我在 runner 类中使用 @RunWith(CucumberWithSerenity.class) 时,它给了我未解决的类型错误。
构建.gradle:
请建议我需要改变什么才能用 Cucumber 平静地运行。提前致谢。
cucumber - Cucumber-serenity not inject Steps
I´m using cucumber-selenium to run some integration tests. I manage to create the feature file and the Test class. But once that I´m in my Give method I see that the ScenarioSteps(ProjectMemberSteps) class that I define to talk with the object page is null. I was expecting to be injected like JBehave does.
This is the Scenario runner class for the test
This is class ProjectMemberSteps is under steps/serenity/ as the documentation suggest. I´m using Maven, and the libraries that I´m using are
Anyway this particular test I´m running with the IDE and not through Maven, but I was expecting that "ProjectMemberSteps" would be inject as JBehave use to do.
Any idea what´s wrong?
Regards.
java - 在 Serenity 上设置 PhantomJS webDriver
我正在使用 Selenium-serenity 进行集成测试。默认情况下,selenium 为 WebDriver 集成了 FirefoxDriver,但现在我想做的是使用 PhantomJS。到目前为止,我无法找到如何在初始化后正确设置驱动程序。
到目前为止,我所做的是覆盖 pageObject 的 getDriver() 方法并返回 phantomJs webDriver
但问题是 webdriver 上的每一个操作都不会传播到其他页面,因为我们当然只返回单例 webDriver,而不是 super.getDriver()。
我的问题是如何正确设置 webdriver on serenity 以在多个页面对象之间共享状态,这些对象是新实例。
使用 Firefox 似乎可以完美运行。
java - 在测试场景之间保持 PhantomJS 浏览器打开
我们正在使用堆栈 Java + cucumber + selenium + phantomjs,一切正常,但我们注意到 phantomjs 正在为每个需要时间的场景重新启动 ghostDriver。我只是想知道是否可以在我的测试场景之间保持 PhantomJS 浏览器打开?
java - 为什么我的 Spring JUnit 测试规则没有运行?
我一直在努力寻找一个明显的解决方案来解决为什么链接代码不会运行 JUnit TestRules。
我创建了一个执行 TestRules 的成功案例,以及一个显示 TestRules 失败的失败案例。
是否有人能够看到为什么没有拾取 TestRules?不只是 Spring 的 TestRule 没有被采纳。似乎都是 TestRules,如源代码中的 MyTestRule.java 所示。
在成功案例上运行mvn clean install
,将看到所有测试通过。但是mvn clean install
在失败案例上运行将产生以下失败:
这是 Spring 的SpringMethodRule没有被拾取的结果,可以在测试类中看到net.serenitybdd.demos.acceptance.CalculateResults
。
有没有人有任何想法?
maven - Serenity BDD 或 Cucumber BDD 框架的超时设置?
我正在使用 Cucumber 和 Serenity 框架编写一些 BDD 自动化测试。而且我在 BDD 测试中需要一些超时机制,这样如果 Cucumber 场景或 Serenity 中的步骤花费的时间太长,它将超时并且测试将失败。
我在下面的链接中找到了一些信息: https ://groups.google.com/forum/#!topic/cukes/QaPvVMnqDvE
因此,对于 Cucumber,似乎步骤定义中的以下设置应该可以完成工作:
对于Serenity,我没有找到任何超时设置,但我想只是我还没有找到它。
但是,当我为 Cucumber 尝试 timeout=xxx 时,它似乎不起作用。即使 myfunc() 在我的测试中挂了很长时间,测试也没有停止,只是挂了。
任何人都知道这个 timeout=xxx 是否有额外的设置可以工作?
Serenity 是否也有任何类似的超时机制可供使用?
最后我使用 maven clean install 来驱动测试,也许我错过了一些 maven 设置来工作?
任何提示将不胜感激。
selenium-webdriver - Serenity Cucumber 浏览器每个功能的唯一会话
我在看宁静(以下版本)
我有功能文件 F1、F2、F3。
我正在寻找支持在 F1 中运行所有场景(仅)以在单个浏览器会话中运行。
F2 和 F3 中的场景可以在“浏览器每个场景”模式下运行。
如何做到这一点?
java - Serenity 管理 webdriver 在最大化窗口中运行
是否可以在 webdriver 最大化模式下运行每个场景?
我试图使用 TestNG 注释添加到 Runner 类方法,@BeforeClass
它只工作一次,但是当场景通过或失败时,浏览器会关闭,然后再次以最小化模式打开。另一方面,我不想将@Before
黄瓜注释添加到我的所有功能文件中。我只想在一个地方改变它。
我无法覆盖open()
方法,因为它是最终的。我正在寻找一个解决方案,当我可以在跑步者类中做到这一点时,或者直接在属性中做得更好。
任何帮助将不胜感激。
还:
- 我知道如何最大化
- 我试图通过扩展 PageObject 类和自定义类来最大化,直接在构造函数中编写 getDriver().manage().window().maximize(); 这个解决方案效果很好,但对我来说看起来并不那么好,因为它只是对方法的额外调用,不应每次在 pageObject 初始化时调用。
- 我也试图通过添加浏览器的高度和重量来在属性中做到这一点,但我不喜欢这种方式。
谢谢。
rest - 如何在带有 Serenity 的测试结果中显示 REST 调用响应?
我正在使用带有 Serenity BDD (Thucydides)、Cucumber 和 RestAssured 的框架。我希望能够显示在我的测试结果 HTML 页面中执行请求后得到的响应。
有没有办法做到这一点?
谢谢!
cucumber-jvm - 是否可以使用 Serenity 和 Cucumber-JVM 进行并行测试运行?
我将 Serenity 与 Cucumber-JVM 一起使用。我可以将我的测试配置为并行运行以减少执行时间吗?