问题标签 [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.
typescript - 如何用打字稿、宁静和黄瓜创建剧本模式项目?
我想使用量角器,宁静,打字稿使用剧本模式创建一个自动化框架。
我不知道如何平静地创作剧本项目。
java - 如何初始化驱动程序对象,以便所有类都可以使用它
如何初始化驱动程序以便它可以被所有类使用
大家好,
我正在使用 Appium、Selenium 和 Cucumber 在 JAVA 中编写测试自动化框架。
我首先在我的一个测试步骤文件中声明一个 Appium 驱动程序,然后根据被测应用程序将其转换为 Android 驱动程序或 iOS 驱动程序。
我需要一些帮助 - 我需要我的所有类文件才能访问此驱动程序实例,但我不确定如何执行此操作。测试是从功能文件驱动的,并且一些测试步骤位于不同的类文件中,那么它们如何都可以访问该驱动程序实例?
谢谢马特
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)的入门项目,这在很大程度上说明了他的书,我无法在任何地方找到功能文件。在功能文件和步骤文档之间连接点会提供很多见解。
cucumber-jvm - 具有两个具有奇怪网络定位器问题的单独场景的功能文件
我有一个包含两种情况的功能文件:一种用于登录网站,另一种用于在登录页面上执行一些操作。如果我只用一个场景安排功能文件,它工作正常,尤其是在下面给出的第一个功能文件中突出显示的行。但是如果将同一个特性文件安排成有两个场景,就会出现网络定位器问题,即使在页面对象代码中,我给出了相同的代码行来定位网络元素。
第一个场景(使用大纲)只是登录网站。没有存储任何对象,或任何东西。
第二种情况是尝试验证页面上的一些数据,例如是否填充了带有用户 ID 和日期的行。
问题在于我在其中引入了第二个场景关键字的第二个功能文件,因为它完全是另一个单独的场景。
注意:-用于在两个地方定位 web 元素的代码(作为单独的项目维护)是相同的。
请帮我找出问题所在。快把我逼疯了。
#########------此功能文件运行良好.-----###---此功能文件找不到网页元素(登录后的第一个)-#
更新: 只是为了好玩,当我注释掉可疑的“场景”关键字和伴随的@Given 步骤时,实际上并没有做任何新的事情,找到了网络定位器,没有问题!这里有什么好玩的?第一次登录场景中没有存储任何数据,什么也没有。只需登录,要求提供网络定位器。
serenity-bdd - 如何使用新场景扩展开始任务
我刚刚了解了 serenity-js,并且正在尝试一下。我正在关注本教程并注意到以下示例:
任务Start
:
我真的很喜欢这种语法,并希望通过更多起始场景继续此设置。实现这一目标的正确方法是什么?
protractor - 如何在分页列表中导航,直到找到带有 Serenity-JS 的文本?
我需要断言我创建的元素已添加到列表中,但它被添加到列表的末尾并且是分页的。
我正在考虑通过以这种方式调用另一个任务来浏览每个页面:
我需要实施NavigateThrougItemList
.
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 并且失败,其路径已经在属性文件中正确给出。哪个选项优先或哪个覆盖哪个?我同意这些都是愚蠢的小问题!
serenity-bdd - 当我们使用 XVFB 运行无头测试时,我们是否需要在少 GUI 的 RedHat Linux m/c 上安装浏览器?
由于我们在使用在 RedHat Linux 机器上运行的 Jenkins 服务器上安装的 Firefox 浏览器运行无头 Serenity 测试时遇到问题,因此我们安装了 XVFB 来运行测试。
我们首选的测试浏览器是 Chrome,而不是 Firefox。但 Chrome 不适用于 RedHat Linux (Jenkins) Server。
问题,我们是否需要在 Linux 机器上安装 Chrome 浏览器才能使用 XVFB 运行无头测试?
java - CSRF 令牌验证失败,如何使用 serenity 放心框架修复?
我正在使用宁静放心框架,我执行以下步骤。
1)使用 GET 请求能够获取响应标头中的 CSRF 令牌。
2)然后我尝试使用相同的获取的 CSRF 令牌来发布另一个请求,我收到“CSRF 令牌验证失败”