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

jenkins - 守夜人全局变量无法进入詹金斯

为什么 Nightwatch 全局变量无法在 Jenkins 上运行?我在下面添加了nightwatch.js

"globals_path": "global.js"

像这样的测试

这是我的globlas.js

当我在本地运行它时它运行良好但它无法在 Jenkins 上获取全局变量 Jenkins 上的控制台

我本地的控制台

0 投票
0 回答
153 浏览

javascript - SyntaxError:在 Jenkins 中运行 Nightwatch 测试的意外标识符

附件是我在尝试运行运行守夜脚本的詹金斯作业时遇到的错误。节点模块中的功能似乎存在问题。

期望的行为是 jenkins 中的作业成功运行。问题不在于我编写的代码。这在本地有效。这是节点和詹金斯之间的问题。

aws/workspace/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS/lib/node_modules/nightwatch/lib/utils/periodic-promise.js:39

这是节点模块代码...

0 投票
1 回答
51 浏览

e2e-testing - waitForElementVisible 不搜索输入元素吗?

我正在使用 nightwatch.js 执行端到端测试,并且必须使用迂回方法才能使waitForElementVisible 命令按预期工作。例如,我的代码如下:

为了进一步澄清,我正在测试单选按钮是否可见。单选按钮的 DOM 元素如下:

0 投票
1 回答
35 浏览

selenium-chromedriver - chrome 驱动程序不会处理除 localhost 之外的 http URL

我正在使用 nightwatch.js、selenoid 和 chrome 驱动程序。我希望浏览器转到任何 url,这不是本地的,例如browser.url('http://google.com')。但是 chrome 驱动程序不会执行此请求,但是如果我使用 https,一切正常。我试图添加标志,但它对我不起作用。

0 投票
1 回答
45 浏览

nightwatch.js - 有没有办法使用守夜人检查文本上的省略号?

有没有办法检查文本中的省略号或使用 nightwatch 截断的文本。我尝试使用browser.assert.ok(ref.offsetWidth < ref.scrollWidth),但似乎 Nightwatch 没有属性 offsetWidth 或 scrollWidth。有没有人遇到过这个?

0 投票
1 回答
329 浏览

cucumber - Nightwatch Cucumber 没有找到我的步骤定义

当前行为

无法识别步骤定义......无论我尝试什么,当我运行 nightwatch 时,我的功能和步骤都会返回为未定义。

预期/期望的行为

我的 step_definitions 文件夹中的代码被执行。

环境:

  • nightwatch-黄瓜版本:9.1.3
  • 守夜人版本:0.9.21
  • 黄瓜版本:6.0.5
  • Selenium_server 版本:3.141.59
  • Phantomjs-预建版本:2.1.16
  • Node.js 版本:10.17.0

包.json


nightwatch.conf.js


特征/about.feature


step_definitions/about.js


运行守夜人的输出

0 投票
2 回答
1281 浏览

docker - 在 Docker 容器中运行不带 Selenium 服务器的 Nightwatch

我读到:

从 Nightwatch 1.0 开始,不再需要使用 Selenium Standalone Server,也不建议针对单个浏览器进行测试...

但我找不到任何有关直接与 WebDriver 交互的文档,尤其是在 Docker 容器中运行 Nightwatch+Chromedriver。

有什么具体的帮助吗?

0 投票
1 回答
564 浏览

nightwatch.js - 在每个测试的基础上设置默认超时

我正在寻找一种方法来在每个测试的基础上设置默认超时。

我正在写一些在守夜人中的端到端测试。其中一项测试需要多次点击 API 来设置初始测试条件。为了运行测试,有必要填充一些用户数据。这发生在 before() 方法中。

问题是, before() 在达到默认超时间隔时会超时。我已经阅读了设置全局默认超时的文档,但我不想到处增加它。我怎样才能在每次测试的基础上做到这一点?

异步之前/之后
https://nightwatchjs.org/guide/#asynchronous-before-each-and-after-each-
设置全局 asyncHookTimeout
https://github.com/nightwatchjs/nightwatch/blob/master/examples/globalsModule。 js#L20

测试代码如下:

0 投票
0 回答
479 浏览

javascript - Nightwatch - 设置和获取全局变量

基本上我需要做的是每次我在函数运行测试时从 csv 文件中获取配置文件并将其作为数组加载到全局变量中。

假设 mynightwatch.conf.js 包含以下示例全局变量myGlobalArr

在 globals.js 中,我使用 readFileSync 读取文件并将其文本作为数组传递给变量

如何将存储在文件中的数组传递给myGlobalArr ,然后从页面对象内部调用它以使用它?

谢谢

0 投票
1 回答
337 浏览

javascript - Night watch pageobject 元素选择器不适用于 @ 表示法

当使用 @ 表示法从测试函数传递到页面对象时,选择器不起作用。

这是我的主页对象。

实用程序.js

测试js文件。

所以基本上 setDropdown(homePage.elements.dropdownSelector.selector, homePage.elements.dropdownAuthSelector.selector)工作正常,但是当我使用@ notation 时它不起作用 .setDropdown('@dropdownSelector', '@dropdownAuthSelector')并在下面抛出错误

错误 运行 .locateMultipleElements() 协议操作时出错:无效选择器:指定了无效或非法的选择器

运行 .locateMultipleElements() 协议操作时出错:无效的选择器:指定了无效或非法的选择器