问题标签 [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 回答
436 浏览

serenity-bdd - 如何平静地处理角落/边缘/错误情况

我喜欢专注于业务场景的想法。但是,作为开发人员,我还希望错误案例具有自动化的非回归测试。

例如,在电子商务功能中,会有一个场景

詹姆斯用他的信用卡付款
詹姆斯应该看到购买成功

但是,如果他的信用卡无效或他的银行拒绝交易,情况会怎样呢?这些场景与实现细节密切相关。

我看不出如何在 Serenity 哲学中处理这些场景的自动化测试。如果我编写场景,我将不得不提及当前的实现细节。在阅读有关 Serenity 的文献时,我觉得它只是为了测试幸福的道路,因为这是商界人士关心的。然而,在现实世界中,错误案例和更复杂的流程是应用程序的重要组成部分,并受益于自动化测试。

你能帮我理解我应该如何测试这些场景吗?谢谢!

0 投票
1 回答
680 浏览

protractor - protractor.browser.refresh in --headless

遇到路障,为了我的一生,在谷歌上找不到任何东西

我正在使用serenity-js,目前没有刷新交互,因此在本地创建了一个。

这是我的课:

这是我调用它的任务,当 --headless 模式在我的 protractor.conf.js 中关闭时,它可以完美地工作,但是当 --headless 模式在刷新后吐出到 console.log 并表明它被击中时会爆炸。发生的错误只是步骤文件中的超时错误。

这是测试后的输出:

0 投票
2 回答
237 浏览

protractor - Serenity/JS:为什么 See.if 中的断言有时会返回空字符串?

我遇到了 See.if() 的问题 - 它有时会返回空字符串。

使用的技术堆栈:

  1. Serenity/JS 带黄瓜和量角器
  2. P-Growl - Primeng 咆哮组件
  3. Chai as promise - expect 方法

这是错误:断言错误:预期''包括'操作成功'

步骤.ts

任务.ts

ui.ts

请帮我。提前致谢。

0 投票
1 回答
310 浏览

javascript - 如何在 serenity-js 中访问多个 id 元素

我有 5 个具有相同名称和 id 和链接文本的链接。我正在使用 serenity-js。我怎样才能访问第四个链接

page.ts 有

0 投票
1 回答
1225 浏览

selenium-webdriver - 针对 Safari 运行量角器测试时出现 WebDriverError

首先,非常感谢您提供的所有帮助。我一直在尝试搜索可能的解决方案,但找不到任何线索。

我正在尝试使用 SerenityJS 框架运行一些 UI 测试,该框架是 Protractor 之上的一层。

我的 protractor.config.js 如下所示:

我的浏览器特定配置如下:

我在 Gherkins 中有一些步骤定义如下:

步骤定义如下所示:

登录功能如下所示:

现在,如果我运行这两个测试用例,第一个测试将始终通过,而第二个测试将始终在 step 失败When he enters a valid unknown credential as DASHBOARD_EMAIL_UNKNOWN and DASHBOARD_PASSWORD。并且会抛出异常,堆栈跟踪如下所示:

但是,如果我单独运行它们,它们都会自行通过。

也有人知道我们可以配置 safari 浏览器的 safari.options 是什么,

我试图寻找它们:

https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities#safari-specific

如何在 Protractor 配置中为 Safari 启用隐私浏览

但是文档似乎非常有限。

我所有的测试用例都可以在 Google Chrome 和 Firefox 上正常运行。Safari似乎给我带来了很多困难。

我的规格是:操作系统:MacOS High Sierra (10.13.6)

网络驱动程序:3.14.0

Safari 版本:12.0

npm 版本:6.4.0

节点版本:v8.11.3

非虚拟机版本:0.33.11

非常感谢您的所有帮助,如果您需要更多信息,请告诉我。

干杯~

0 投票
1 回答
180 浏览

protractor - Serenity-JS,步进函数超时

我是 Serenity 的第一步,我已经被这个问题困住了 2 天。

我有:

  • 导航到登录页面
  • 写用户名
  • 写密码
  • 点击登录按钮

然后,在网络从登录页面更改为欢迎页面的步骤中,我想验证是否存在欢迎页面的按钮之一。

在从登录页面到欢迎页面的过渡中,会出现一个加载启动画面,然后在几秒钟后出现欢迎页面。

我在最后一步(然后)中遇到了错误。

这是我单击登录按钮的步骤的代码:

这是我验证按钮是否存在的代码

我看到超时前的执行和秒我看到加载的欢迎页面和按钮。我不知道为什么错误是超时而不是驱动程序找不到元素。

0 投票
1 回答
713 浏览

protractor - 如何使用 chai/chai-smoothie 断言输入字段的值?

感谢柴冰沙!

如何使用 chai/chai-smoothie 断言输入字段的值?

鉴于 getText() 始终为空,我们应该使用 element.getAttribute('value') (请参阅:How to getText on an input in protractor

我希望能够做类似的事情:

这似乎不起作用:

0 投票
1 回答
828 浏览

java - 从命令行启动单个 Serenity 场景

我的团队获得了 webapp 的所有权。测试是用junit 套件和serenity 编写的。好东西,有很好的测试覆盖率。当您需要运行仍然失败的单个测试/场景并且您需要等待 >30 分钟才能运行所有内容时,问题就来了。

如何使用 mvn 命令行运行此套件的单个场景?

从代码编辑器中,很难启动单个场景,因为套件和测试类都包含重要的初始化代码。我也尝试过参数 '-Dtest=T1Test#T1Scenario1' 但没有成功。

代码片段:

0 投票
1 回答
847 浏览

serenity-js - 需要一个如何在 serenity-js 上单击按钮的示例

我对 serenity-js 和 Protractor 真的很陌生。我按照' https://github.com/serenity-js/seed-cucumber/tree/master/features '来熟悉serenity-js。有人可以给我一个如何点击按钮的例子吗?

例如点击“尝试新的角度”

0 投票
0 回答
449 浏览

serenity-bdd - 我如何使用宁静剧本模式上传文件

我正在研究宁静的剧本模式。

我需要将文件上传到网页上的文本框,但出现以下错误:

“TargettedAction 无效元素状态:元素必须是用户可编辑的才能清除它。”

这是我在代码中遇到错误的地方: