问题标签 [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.
serenity-bdd - 如何配置宁静报告线程数?
默认情况下,Serenity 报告线程设置为 80,在报告生成期间它会冻结机器,我找不到任何地方可以配置线程数,从下面的测试结果报告可以看出,配置报告线程:80,任何人都知道如何更改它?
[INFO] 配置的报告线程:80
selenium-webdriver - 带有黄瓜功能钩子的 serenity-bdd
我正在将 Serenity-BDD 与黄瓜一起使用,我希望每个功能文件只运行一次某些东西。看起来黄瓜目前不支持这一点。我想知道宁静是否有一些解决方法。
我还尝试在测试套件类中使用 JUnit @BeforeClass、@AfterClass 钩子,但是 2 个注释需要静态方法,并且当时我无法访问 serenity 页面对象方法(当时没有注入实例)。
java - 如何使用 cucumber-jvm、cucumber-serenity 和 SerenityObjectFactory 进行多态测试
我发现了一个有趣的博客,一般解释了如何使用黄瓜 bdd 和 picocontainer 依赖注入来实现多态步骤定义。你可以在这里访问博客
我陷入困境的地方是不知道如何将自动化逻辑保留在“通用”接口后面,然后提供两种不同的实现,一种直接与域模型对话以进行单元集成测试,另一种使用 Selenium WebDriver 进行 UI-测试。
有人可以给我建议/骨架如何实现这一点。我非常感谢你帮助社区。
java - 在 Cucumber-jvm 中使用多个步骤定义时出现 NullPointerException
我目前正在构建一个框架来测试 Rest-API 端点。由于我计划编写大量测试用例,因此我决定组织项目以允许我重用常见的步骤定义方法。
结构如下;
但是,当我尝试调用SimpleSearchSteps.java
方法时,我得到了 NullPointerException
CommonStepDefinition Code
SimpleSearchStepDefinition.java
automation - Serenity BDD JVM 如果 showl 场景失败或通过,我该怎么做?
我用 serenityBDD 和 JVM 构建了这个框架。我需要使用 api 在测试轨道中写入结果,如果我的场景失败,则触发此 api。我无法在场景步骤中添加它,因为如果它在可能无法到达该 API 之前失败。如果整个场景失败,我有办法触发这个端点吗?如果它通过,我也需要触发它。
示例:如果我无法在下面输入我的凭据,那么我需要触发 api。
场景:验证我登陆主页
鉴于我导航到网站
当我使用我的凭据登录时
当我点击主页时
然后我验证我在主页
selenium-webdriver - 宁静属性不适用于野生动物园
在我的设置中,我正在为 CucumberWithSerenity.class 运行测试问题是在使用 safari 浏览器执行我的测试后,safari 不会清除 cookie 和其他相关数据。例如,登录步骤完成后,我必须搜索用户并设置用户,以便获得相关部分。但是 safari 保留了之前测试执行中设置的用户信息。为了解决这个问题,我在 serenity.properties 文件中设置了以下内容: safari.options.useCleanSession=true 但是,这似乎不起作用。
在其他浏览器上,我没有这样的问题。我是否错误地执行了该属性?
是否有其他选择可以确保每次启动 safari 浏览器时,我都有新的会话?
你能举个例子吗?
angular - 测试完成后如何自动打开报告
我正在使用黄瓜和 Angular CLI 运行 Serenity-js。
我正在使用“package.json”中的脚本来执行清理、测试和生成报告的顺序"e2e2": "failsafe clean pretest protractor report"
。
target/site/serenity/index.html
一切正常,但我希望在测试完成时自动打开 位于其中的报告。
如何使用此功能完成我的脚本序列?
internet-explorer - Selenium 打开多个 Internet Explorer 浏览器
我有 Selenium 自动化框架,Cucumber with Serenity。每当我执行脚本时,它会打开 6-7 个不同的 IE 浏览器。到目前为止,我已经尝试过以下事情。
1. 从 Internet 选项中为所有区域启用保护模式
2. 选中“重置新窗口和选项卡的缩放级别”选项
3. 在我的 serenity 框架中,我在 serenity.properties 文件中设置了以下 IE 驱动程序功能:
如果我遗漏了什么,请告诉我。
注意:我在我的机器上使用 Internet Explorer 11
serenity-bdd - 黄瓜步骤定义/宁静步骤
我正在寻找一些关于如何使用 Serenity/Cucumber 构建我相当大的框架的指导,以便我有效地使用抽象层。
除手册中的内容外,是否有任何一般规则/建议/提示?
按照手册中的建议设置框架。即我有多个功能文件、步骤定义文件、宁静步骤文件。但是我发现我在单个测试中使用了多个步骤定义文件和宁静文件。
例如,假设我有 2 个不同的功能,并且在每个功能的场景中都有相同的黄瓜步骤(假设我已登录),那么显然这些功能中至少有 1 个使用步骤定义文件中的步骤定义不属于此功能。- 这是好习惯吗?我不想在多个步骤定义文件中重复步骤定义,但有时我需要在步骤定义文件中设置变量。
我还在一些步骤定义中调用了多个宁静步骤文件。例如,我可能会在 1 步定义文件中使用 SearchSteps 和 BuyerSteps。这是好习惯吗?