问题标签 [nightwatch]

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 浏览

cucumber - 使用 BDD Cucumber and Sauce Labs 进行自动化测试

希望能在这里找到答案

我必须使用用 JavaScript 编写的 BDD 方法构建一个测试自动化工具。我们必须使用 Cucumber、Gherkin、Sauce Labs 并且它将与 Xray(Jira) 连接。起初,它是在 Nightwatch(管理 webriver)和 Nightwatch-api(管理 cucumber-conf.js 文件中的测试和会话)的帮助下构建的。

我们可以与 Sauce Labs 连接并运行测试,但我们无法在测试结果仪表板中获得任何测试结果。事实证明,Sauce Labs 不再推荐 Nightwatch,我们必须改变方法。

所以,我现在正在寻找一个替代方案,我们可以用什么来完美地与 Sauce Labs 和 Cucumber 一起工作?处理 Gherkin 特征文件,创建 Cucumber 报告,与 xray 通信?

任何帮助将不胜感激

0 投票
1 回答
164 浏览

javascript - Nightwatch JS 命令链在异步函数中不起作用

我试图在我的 Nightwatch 测试中调用异步页面对象命令,但测试失败。正如您在代码示例中看到的那样,我试图将几个 .pause 命令链接在一起,但链接机制不起作用。如果我删除“异步”关键字并注释掉“等待”代码,则链接命令将起作用。因此,似乎使用“异步”会破坏命令链接。有解决方案吗?

夜班测试...

页面对象文件...

输出 ...

守夜人 v 1.5.0

0 投票
1 回答
40 浏览

javascript - 获取 Google 自动广告小插曲的元素 - 嵌套文档 [已编辑]

我正在尝试关闭网站上的 Google 广告,但不知道如何访问 #dismiss-button 元素。尝试切换到该 iframe,得到“找不到元素”

页面html

编辑:试图通过完整的 Xpath 获取元素,现在我得到“元素不可点击”错误。我似乎仍然找不到与按钮重叠的内容。非常感谢任何建议。

0 投票
1 回答
184 浏览

nightwatch.js - 如何更改 Nightwatch.js 生成的 Junit XML 报告的文件名?

我有一个 Nightwatch.js 测试套件正在运行。完成后,我使用output_folder 设置配置了输出目录。它会在该目录中正确生成 JUnit XML 文件。我有一个现有的自动化工具,它扫描目录中的 JUnit 测试 XML 文件并报告它们。不幸的是,它只匹配目录中具有命名方案的文件:TEST-.xml。假设我无法更改自动化工具上的匹配规则。我正在寻找一种将“TEST-”作为前缀添加到我的测试的方法。理想情况下,我可以通过配置 Nightwatch 来做到这一点。Nightwatch 是否支持此配置?我找不到任何这样的选择。

0 投票
1 回答
681 浏览

selenium - 设置 Nightwatch 的问题

我有一个 Django 项目,我正在尝试设置 nightwatch JS,但我似乎无法解决 selinum 驱动程序的问题。

我有一个node_modules这样的目录(显示重要区域)

在我的根文件夹中,我有一个这样编写的测试,名为custom_test.js

中的脚本package.json

以防万一,这里显示了来自 chromedriver 和 geckdriver 的 devDependenices

"chromedriver": "^88.0.0",

"geckodriver": "^1.22.1",

现在nightwatch.json

当我跑步时:npm run nightwatch custom_test.js我简单地得到:

检索新会话时发生错误:“预期浏览器二进制位置,但无法在默认位置找到二进制文件,未提供 'moz:firefoxOptions.binary' 功能,命令行上未设置二进制标志”

如果我将nightwatch.json文件更改为指向 chromedriver,我会收到此错误:

检索新会话时出错:“未知错误:找不到 Chrome 二进制文件”

这对我来说没有意义,因为配置只是告诉我通过 npm install 运行驱动程序的安装:

https://nightwatchjs.org/gettingstarted/configuration/

我究竟做错了什么?

更新

将配置更改为nightwatch.conf.js

提供此错误:

检索新会话时出错:“未知错误:找不到 Chrome 二进制文件”

这是整个输出:

使用 NPX 更新

更新 3:整个 PACKAGE.JSON

0 投票
2 回答
98 浏览

nightwatch.js - Nightwatch 问题单击 Div

我有一个看起来像这样的夜班测试,我试图确认单击我的登录页面的“密码到文本”功能是否有效:

#eye_button是一个div包含 JS 控制的<i>元素,显示密码字段是type=texttype=password

我是 Nightwatch 的新手,但查看其他帖子,这应该可以让 div 被点击,注意.click()由于元素不是交互式的,该方法不起作用。

但是它没有,我什至在测试运行时都没有得到console.log,有人可以帮我指出正确的方向吗?

失败的行在这里是因为(我假设)没有单击 div 并且没有调用转换密码字段的 JS:

client.assert.attributeEquals("#id_password", "type", "text");

0 投票
2 回答
243 浏览

selenium - 如何在守夜人中检查工具提示的值

我正在编写一个测试,它检查当您将鼠标悬停在链接上时是否出现了一些文本。目前无法执行此操作,因为 DOM 在悬停时不会更改,因此没有要检查的元素。见下面的html:

我已经尝试对链接本身进行断言,但这显然不起作用,因为它只会返回链接文本本身而不是悬停时的值。我唯一能想到的是检查标题属性,但这并不是通过悬停直接测试 WebApp 上的功能,它只是检查 DOM 中的属性。任何想法将不胜感激。

0 投票
2 回答
115 浏览

javascript - Nightwatch 计数元素的数量

我是 Nightwatch 的新手,我想计算元素的数量。我能够做到这一点,但我不明白如何解释变量,这里是我的代码:

这显示了我想要的所有元素。输出为:元素 1 元素 2 等等......

现在,我想要这个:

有 X 元素:元素 1 元素 2 等等......

但是我尝试打印我的变量“nb”,但它不起作用......如何存储和显示我的“nb”变量?

谢谢,

0 投票
1 回答
68 浏览

xpath - 如何使用 XPath 或 CSS 选择器在 Nightwatch 测试中查找子字符串

我必须对以下元素进行 Nightwatch 测试:

这基本上很容易,除了我发现“-971-”或多或少是一个随机的 3 位数字,因为 textarea 可以在页面上显示多次。我不能简单地查找“starts-with('xxxxxxxx-')”,因为还有许多其他表单字段共享该前缀。出于同样的原因,我不能或多或少地使用“ends-with('-condition')”。我需要将两者结合起来。但是怎么做?这是我尝试过的,首先从简单的案例开始:

由于测试在进入本节之前运行了相当长的一段时间,因此我有很多时间去谷歌搜索。此外,您会注意到我使用 CSS 选择器的运气要好得多(但无法将它们组合成我需要的效果)。

有人有建议吗?

0 投票
1 回答
34 浏览

javascript - Nightwatch.js 如何忽略主页?或者如何使用window.location.host?

我是 nightwatch.js 的大菜鸟,但我必须决定这项任务。请帮我...

我有一个简单的自动测试,测试的本质是在网站的每个页面上寻找指向主页的链接,如果链接少于 2 个,则测试不通过并给出错误。

你知道如何强制自动测试忽略主页吗?

或者你知道如何在 nightwatch.js 中使用window.location.hostwindow.location.protocol?我问它,因为我知道如何使用清晰的 JavaScript 来决定我的任务,但它不适用于 nightwatch.js: