问题标签 [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.
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 通信?
任何帮助将不胜感激
javascript - Nightwatch JS 命令链在异步函数中不起作用
我试图在我的 Nightwatch 测试中调用异步页面对象命令,但测试失败。正如您在代码示例中看到的那样,我试图将几个 .pause 命令链接在一起,但链接机制不起作用。如果我删除“异步”关键字并注释掉“等待”代码,则链接命令将起作用。因此,似乎使用“异步”会破坏命令链接。有解决方案吗?
夜班测试...
页面对象文件...
输出 ...
守夜人 v 1.5.0
nightwatch.js - 如何更改 Nightwatch.js 生成的 Junit XML 报告的文件名?
我有一个 Nightwatch.js 测试套件正在运行。完成后,我使用output_folder 设置配置了输出目录。它会在该目录中正确生成 JUnit XML 文件。我有一个现有的自动化工具,它扫描目录中的 JUnit 测试 XML 文件并报告它们。不幸的是,它只匹配目录中具有命名方案的文件:TEST-.xml。假设我无法更改自动化工具上的匹配规则。我正在寻找一种将“TEST-”作为前缀添加到我的测试的方法。理想情况下,我可以通过配置 Nightwatch 来做到这一点。Nightwatch 是否支持此配置?我找不到任何这样的选择。
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
nightwatch.js - Nightwatch 问题单击 Div
我有一个看起来像这样的夜班测试,我试图确认单击我的登录页面的“密码到文本”功能是否有效:
#eye_button
是一个div
包含 JS 控制的<i>
元素,显示密码字段是type=text
或type=password
我是 Nightwatch 的新手,但查看其他帖子,这应该可以让 div 被点击,注意.click()
由于元素不是交互式的,该方法不起作用。
但是它没有,我什至在测试运行时都没有得到console.log,有人可以帮我指出正确的方向吗?
失败的行在这里是因为(我假设)没有单击 div 并且没有调用转换密码字段的 JS:
client.assert.attributeEquals("#id_password", "type", "text");
selenium - 如何在守夜人中检查工具提示的值
我正在编写一个测试,它检查当您将鼠标悬停在链接上时是否出现了一些文本。目前无法执行此操作,因为 DOM 在悬停时不会更改,因此没有要检查的元素。见下面的html:
我已经尝试对链接本身进行断言,但这显然不起作用,因为它只会返回链接文本本身而不是悬停时的值。我唯一能想到的是检查标题属性,但这并不是通过悬停直接测试 WebApp 上的功能,它只是检查 DOM 中的属性。任何想法将不胜感激。
javascript - Nightwatch 计数元素的数量
我是 Nightwatch 的新手,我想计算元素的数量。我能够做到这一点,但我不明白如何解释变量,这里是我的代码:
这显示了我想要的所有元素。输出为:元素 1 元素 2 等等......
现在,我想要这个:
有 X 元素:元素 1 元素 2 等等......
但是我尝试打印我的变量“nb”,但它不起作用......如何存储和显示我的“nb”变量?
谢谢,
xpath - 如何使用 XPath 或 CSS 选择器在 Nightwatch 测试中查找子字符串
我必须对以下元素进行 Nightwatch 测试:
这基本上很容易,除了我发现“-971-”或多或少是一个随机的 3 位数字,因为 textarea 可以在页面上显示多次。我不能简单地查找“starts-with('xxxxxxxx-')”,因为还有许多其他表单字段共享该前缀。出于同样的原因,我不能或多或少地使用“ends-with('-condition')”。我需要将两者结合起来。但是怎么做?这是我尝试过的,首先从简单的案例开始:
由于测试在进入本节之前运行了相当长的一段时间,因此我有很多时间去谷歌搜索。此外,您会注意到我使用 CSS 选择器的运气要好得多(但无法将它们组合成我需要的效果)。
有人有建议吗?
javascript - Nightwatch.js 如何忽略主页?或者如何使用window.location.host?
我是 nightwatch.js 的大菜鸟,但我必须决定这项任务。请帮我...
我有一个简单的自动测试,测试的本质是在网站的每个页面上寻找指向主页的链接,如果链接少于 2 个,则测试不通过并给出错误。
你知道如何强制自动测试忽略主页吗?
或者你知道如何在 nightwatch.js 中使用window.location.host和window.location.protocol?我问它,因为我知道如何使用清晰的 JavaScript 来决定我的任务,但它不适用于 nightwatch.js: