问题标签 [serenity-bdd]
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.
report - 从宁静报告中删除忽略/跳过的场景
我的故事文件中有多个场景,我正在使用元标记运行这些场景,这将过滤掉我不想执行的场景。但在 Serenity 报告中,它显示它们被忽略,这使得它看起来很难看,因为被忽略的场景比执行的场景要多得多。有什么办法可以从宁静生成的报告中删除那些被忽略的场景?
logging - 如何更改 serenity-bdd 日志设置
我在我的项目 IntelliJ IDEA 作为 IDE 上使用Serenity BDD进行测试自动化。我想更改每次运行测试时可以看到的日志的格式和调试级别。
例如,我只想查看来自 [main] 线程的日志:
我知道如何为 logback 执行此操作,但我找不到任何有关如何以及在何处更改 Serenity 的日志设置的信息。
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 似乎可以完美运行。
selenium - 无论如何我可以消除我的硒测试的片状吗?
我将 Cucumber-JVM 与 Serenity(报告库)一起使用。步骤实现使用 selenium 进行浏览器自动化。
我使用类似的方法
但有时我的测试仍然会出现片状。我不想使用显式等待。
有什么方法可以让我的测试更可靠。?
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
。
有没有人有任何想法?
java - JBehave + Serenity 元过滤器适用于示例表行吗?如何解决它?
我的示例表和元过滤器测试不想开始。我正在使用 jbehave-core 4.0.4 和 serenity 1.1.21
我有以下场景(此处简化但也有类似问题)
我正在使用以下命令来运行测试
我正在使用此“@run”标签在本地计算机上进行测试运行。但是这个命令并没有运行我上面的场景。输出是“成功”,但输出有:
奇怪的是,如果我为每一行添加带有“@run”值的“Meta:”列,测试执行得很好。所以我认为元过滤器适用于示例表,即使表没有“Meta:”列,从我的角度来看这是错误的。
可能有人建议解决方案,因为现在我除了添加这个“Meta:”列之外什么都看不到。但这很糟糕,因为我必须复制我拥有的所有参数。
serenity-bdd - 如何在 IE 和 chrome 中运行 Serenity BDD 测试用例
有人可以帮助我了解如何在 IE 和 chrome 浏览器中运行 Serenity BDD 测试用例吗?我使用的 Serenity BDD 版本是 1.1.1。任何人的帮助将不胜感激。
jenkins - 显示詹金斯的宁静报告时缺少饼图和其他元素
需要你的帮助!
我一直致力于将我的自动化测试集成到 Jenkins。我使用 Serenity BDD 和 JBehave。当我手动运行测试时,我的 Serenity 报告显示正常。但是,当我将测试集成到 Jenkins 并尝试通过 Publish HTML Report Plugin 显示报告时,它无法显示饼图并且还缺少其他元素。
知道如何解决这个问题吗?
java - 在 IntegrationTest 服务器和测试之间共享 Spring 上下文
我正在尝试设置环境,以便我可以通过方法调用配置对象,然后使用 HTTP 请求对其运行测试,因此(半伪代码):
(或在 JBehave 中)
我想使用 Spring Boot 来实现 Web 服务。
然而,我的尝试,虽然看起来很干净,但不起作用,因为我的测试对象看到的 Spring 上下文与 Web 服务使用的 Spring 上下文不同。
我的环境是 Serenity+JBehave,但我希望这些原则与直接的 jUnit 没有什么不同。
我有:
...和应用程序代码:
...以及我要共享的对象的类:
...在我的控制器中:
...在我的 Serenity step 课程中:
当我运行测试时,服务器启动,setter 运行,发出 HTTP 请求。然而
- 我可以看到构造函数记录了两次“Init”
Store
:一个是由与测试关联的 Spring 上下文创建的,另一个是由属于 Tomcat 容器的 Spring 上下文创建的。 - 我可以看到
Set
并被Return
不同的Store
. 因此,我没有get
价值 Iset
。
如何让服务器和测试看到相同的 Spring 上下文?