问题标签 [serenity-js]

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.

0 投票
1 回答
167 浏览

serenity-bdd - Serenity:如何根据使用的平台区分报告?

我们正在为两个平台使用 serenity 报告来运行自动化脚本,但不确定如何区分报告中的功能或场景以说明属于哪个平台。我使用的标签仍然没有用,因为两个平台都显示了这些标签。有人可以建议或帮助我解决这个问题吗?

使用的宁静版本:2.0.30

附上一份报告截图

附上一份报告截图

在此先感谢 Vamc

0 投票
2 回答
682 浏览

typescript - 如何用打字稿、宁静和黄瓜创建剧本模式项目?

我想使用量角器,宁静,打字稿使用剧本模式创建一个自动化框架。

我不知道如何平静地创作剧本项目。

0 投票
3 回答
2459 浏览

java - 如何初始化驱动程序对象,以便所有类都可以使用它

如何初始化驱动程序以便它可以被所有类使用

大家好,

我正在使用 Appium、Selenium 和 Cucumber 在 JAVA 中编写测试自动化框架。

我首先在我的一个测试步骤文件中声明一个 Appium 驱动程序,然后根据被测应用程序将其转换为 Android 驱动程序或 iOS 驱动程序。

我需要一些帮助 - 我需要我的所有类文件才能访问此驱动程序实例,但我不确定如何执行此操作。测试是从功能文件驱动的,并且一些测试步骤位于不同的类文件中,那么它们如何都可以访问该驱动程序实例?

谢谢马特

0 投票
1 回答
159 浏览

serenity-bdd - 参考 John 的 Serenity BDD 书,@Test 注释可以包含一个完整的场景,作为运行 SerenityRunner.class 的一部分吗?

我指的是 John 的 Serenity bdd 书 @ https://serenity-bdd.github.io/theserenitybook/latest/step-libraries.html。刚开始时,John 似乎将一组 @given @when @then 步骤定义包含在一个方法中,该方法使用标签@Test进行注释。

1.你会如何选择方法的名称?从描述场景的步骤行:关键字?

2.只有在声明 StepDefinition 类之前使用@RunWith(SerenityRunner.class)注释时,这是否可能?

3.如果你用它@RunWith(CucumberWithSerenity.class)来代替呢?声明此注释的最佳位置是什么?在 TestRunner.java 文件中还是在 stepdefinition 类文件中显示?

4.项目根目录下的serenity.properties的作用是什么?TestRunner.java 文件?我们可以只使用一个而不是两个吗?

很抱歉有这么多问题。我代表 JUnit-Cucumber-Serenity 测试开发人员说 “我们正在苦苦挣扎,没有明确的文档”

我知道这是野兽的本性。因为 Serenity 可以与上述所有技术结合使用,所以很难找到一个简单的答案。

顺便说一句,我查看了约翰的Serenity-junit-starter-master项目(Serenity-junit-starter)的入门项目,这在很大程度上说明了他的书,我无法在任何地方找到功能文件。在功能文件和步骤文档之间连接点会提供很多见解。

0 投票
1 回答
38 浏览

cucumber-jvm - 具有两个具有奇怪网络定位器问题的单独场景的功能文件

我有一个包含两种情况的功能文件:一种用于登录网站,另一种用于在登录页面上执行一些操作。如果我只用一个场景安排功能文件,它工作正常,尤其是在下面给出的第一个功能文件中突出显示的行。但是如果将同一个特性文件安排成有两个场景,就会出现网络定位器问题,即使在页面对象代码中,我给出了相同的代码行来定位网络元素。

第一个场景(使用大纲)只是登录网站。没有存储任何对象,或任何东西。

第二种情况是尝试验证页面上的一些数据,例如是否填充了带有用户 ID 和日期的行。

问题在于我在其中引入了第二个场景关键字的第二个功能文件,因为它完全是另一个单独的场景。

注意:-用于在两个地方定位 web 元素的代码(作为单独的项目维护)是相同的

请帮我找出问题所在。快把我逼疯了。

#########------此功能文件运行良好.-----

###---此功能文件找不到网页元素(登录后的第一个)-#

更新: 只是为了好玩,当我注释掉可疑的“场景”关键字和伴随的@Given 步骤时,实际上并没有做任何新的事情,找到了网络定位器,没有问题!这里有什么好玩的?第一次登录场景中没有存储任何数据,什么也没有。只需登录,要求提供网络定位器。


0 投票
1 回答
32 浏览

serenity-bdd - 如何使用新场景扩展开始任务

我刚刚了解了 serenity-js,并且正在尝试一下。我正在关注本教程并注意到以下示例:

任务Start

我真的很喜欢这种语法,并希望通过更多起始场景继续此设置。实现这一目标的正确方法是什么?

0 投票
1 回答
160 浏览

protractor - 如何在分页列表中导航,直到找到带有 Serenity-JS 的文本?

我需要断言我创建的元素已添加到列表中,但它被添加到列表的末尾并且是分页的。

我正在考虑通过以这种方式调用另一个任务来浏览每个页面:

我需要实施NavigateThrougItemList.

0 投票
1 回答
324 浏览

serenity-bdd - 在 serenity.properties 文件中提及您想使用哪个浏览器运行测试就足够了吗?

在 serenity.properties 文件中提及您想使用哪个浏览器运行测试就足够了吗?喜欢...

Chrome 浏览器测试 webdriver.driver=chrome headless.mode = true

并使用命令行调用测试... mvn clean verify -DuserId='xxx' -Dpasscode='xxx'

或者我还应该提到..

``mvn clean verify -Dwebdriver.driver=browser -DuserId='xxx' -Dpasscode='xxx'

Serenity 会仅从属性文件中推断出它吗?因为当我在命令提示符中没有提供任何浏览器,并且在属性文件中只提到 firefox 时,它正在寻找 ChromeDriver 并且失败,其路径已经在属性文件中正确给出。哪个选项优先或哪个覆盖哪个?我同意这些都是愚蠢的小问题!

0 投票
1 回答
82 浏览

serenity-bdd - 当我们使用 XVFB 运行无头测试时,我们是否需要在少 GUI 的 RedHat Linux m/c 上安装浏览器?

由于我们在使用在 RedHat Linux 机器上运行的 Jenkins 服务器上安装的 Firefox 浏览器运行无头 Serenity 测试时遇到问题,因此我们安装了 XVFB 来运行测试。

我们首选的测试浏览器是 Chrome,而不是 Firefox。但 Chrome 不适用于 RedHat Linux (Jenkins) Server。

问题,我们是否需要在 Linux 机器上安装 Chrome 浏览器才能使用 XVFB 运行无头测试?

0 投票
1 回答
482 浏览

java - CSRF 令牌验证失败,如何使用 serenity 放心框架修复?

我正在使用宁静放心框架,我执行以下步骤。

1)使用 GET 请求能够获取响应标头中的 CSRF 令牌。

2)然后我尝试使用相同的获取的 CSRF 令牌来发布另一个请求,我收到“CSRF 令牌验证失败”