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

javascript - 如何验证搜索中只存在匹配的元素?

标题不好,我知道,但很难用几句话来解释。

我在夜间值班时进行自动化,遇到了一些让我难过的事情,因为我习惯于在 JS 上编码只是为了自动化。通常,很容易验证元素是否存在。但为此,我有一个显示搜索结果的 html 元素,我需要验证结果是否仅包含元素

所以,在这个例子中,我需要确保divresult-item上的所有entity-results结果都只有hint-val-fragment match等于-1000000.0hint-prop等于的结果。cpuLimit:

0 投票
1 回答
209 浏览

node.js - 使用 Nightwatch 和浏览器堆栈/Selenium Grid 上传文件

我正在尝试在 IE11 的 Browserstack 上运行的守夜测试中上传文件。这是我所拥有的:

该错误是文件未找到问题,在本地 Chrome 上运行时可以正常工作。环顾四周,似乎我需要先将文件上传到 BS,我找到了这个gist和这个PR,但对我都没有用。

0 投票
1 回答
631 浏览

automated-tests - Nightwatch - 在页面对象模式中使用带有变量的自定义命令

在我们的 Nightwatch 代码库中,我们使用了页面对象模式。

我正在尝试创建一个selectFromDropdown在我们的检查中使用的函数,所以我认为将它放在 customCommands 文件夹中是有意义的。

现在,当我selectFromDropdown在页面 js 文件中使用我的函数时,代码如下所示:

任何熟悉 Nightwatch 的人都会认出 @ 位来引用一个元素。

所以......最后我面临的问题 - 似乎我无法成功通过这个@样式选择器。当我这样做时,我看到了这个错误......

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

但是,当我将 css 选择器路径直接传递到 selectFromDropdown 函数时,一切正常。

有没有人想出解决这个问题的方法?是否可以将@选择器与客户命令一起使用?

我已经尝试按照这个将我的导出函数重写为一个类:https ://nightwatchjs.org/guide/extending-nightwatch/#writing-custom-commands 但是它似乎没有什么不同。我遇到了与前面提到的相同的行为。

任何帮助深表感谢!

编辑 - 2019 年 3 月 10 日

自定义命令 SelectFromDropdown 正在导入到我要使用 SelectFromDropdown 函数的页面文件中。在此页面文件中,我还声明了 @ 选择器的 css 路径。

我的 selectFromDropdown js.file 中的代码如下所示:

0 投票
0 回答
187 浏览

javascript - 如何在测试运行时访问 Nightwatch 中的窗口对象?

我正在 UI 测试一个包含 OpenLayers 的应用程序。由于 OpenLayers 主要用于绘制 SVG,因此并不总是可以通过 DOM 直接测试效果。

我想让地图对象在单击地图外部的元素后检查其中的变量是否设置正确。

为此,我将地图对象放在 window.mapInstance 中。

在测试期间,我尝试这样做:

这给我一个错误: Error while running .executeScript() protocol action: javascript error: circular reference

然后将 r.value 设置为错误对象,整个事情都失败了。

我究竟做错了什么?

0 投票
1 回答
98 浏览

node.js - Nightwatch Internet Explorer - 私有模式的参数

在我的nightwatch.conf.js我有:

将以私有模式运行 IE 的属性的名称是什么?

我能找到的唯一答案是:

-- 但我不知道如何将它添加到 JSON 配置中。

我试过了:

和:

没有运气。

0 投票
0 回答
470 浏览

node.js - 获取找不到模块'nightwatch/lib/runner/run'

nightwatch.conf.js

这是我的 nightwatch.conf.js 文件,当我尝试运行我的测试时,它给出了以下错误

包.json

错误:

自动化@1.0.0 测试:黄瓜 C:\Users\satheesh_g1\Desktop\Automation

mkdirp 报告 && cucumber-js --require cucumber.conf.js --require step-definitions --format node_modules/cucumber-pretty --format json:report/cucumber_report.json

VError:BeforeAll 挂钩出错,进程退出:cucumber.conf.js:15:在 C:\Users\Desktop\Automation\node_modules\cucumber\lib\runtime\index 处找不到模块 'nightwatch/lib/runner/run'。 js:68:19 在 Generator.next ()

我已经手动检查了失败的路径,我看不到运行模块。我也尝试安装 npm run (如果它存在的话)

0 投票
1 回答
122 浏览

javascript - 如何将 npm 包 selenium-standalone 与 Nightmare.js 一起使用,而不是下载 selenium jar?

正如标题所示,我想将 Nightmare.js 与 selenium 一起使用。但是,他们的文档只提到了selenium-standalone-xxxx.jar.

我知道有一个名为selenium-standalone. 我们不能在 Nightmare 中使用它吗?如果可以,怎么做?Nightmare 的配置需要 Selenium jar 的路径。

0 投票
1 回答
135 浏览

vue.js - 针对基本身份验证 url 的 IE11 nightwatch 浏览器堆栈端到端测试因超时而失败

任何人都知道如何使这项工作?见截图。尽管凭据是在 url 中传递的,但 IE11 会打开该死的基本身份验证提示: 在此处输入图像描述

部门:

配置:

0 投票
1 回答
115 浏览

javascript - 在 Nightwatch 中选择 tabindex

我试图在我的页面中选择一个特定的按钮,但 nightwatch 似乎找不到它。如果我尝试按类调用它,它可以工作,但没有选择我想要的按钮

如果我尝试选择<li class="ui-menuitem ui-widget ui-corner-all" role="menuitem"><a tabindex="-1" id="lote-form-button-gerar-xml-tiss" class="ui-menuitem-link ui-corner-all" href="#" onclick="PrimeFaces.ab({s:&quot;lote-form-button-gerar-xml-tiss&quot;,u:&quot;lote-form-panel-grid-dados-lote lote-form-buttons&quot;,onst:function(cfg){PF('statusDialog').show();;},onco:function(xhr,status,args){PF('statusDialog').hide();;},f:&quot;form&quot;});return false;"><span class="ui-menuitem-text">Gerar XML TISS</span></a></li>,它不起作用,但 nightwatch 将其识别为有效命令。

如果我尝试直接选择按钮,即<a tabindex="-1" id="lote-form-button-gerar-xml-tiss" class="ui-menuitem-link ui-corner-all" href="#" onclick="PrimeFaces.ab({s:&quot;lote-form-button-gerar-xml-tiss&quot;,u:&quot;lote-form-panel-grid-dados-lote lote-form-buttons&quot;,onst:function(cfg){PF('statusDialog').show();;},onco:function(xhr,status,args){PF('statusDialog').hide();;},f:&quot;form&quot;});return false;"><span class="ui-menuitem-text">Gerar XML TISS</span></a>,它无法识别我的命令。把它还给我,好像它是错的。

尝试通过使用选择元素.click('li[class="ui-menuitem ui-widget ui-corner-all"]')

如果有人可以帮我解决这个问题,我将不胜感激。如果您想了解有关代码的更多信息,请向我索取。

0 投票
3 回答
180 浏览

javascript - 选择复选框时遇到问题

我页面上的复选框如下所示:

它包含在 tbody 和 tr 数据中。

我正在尝试通过使用来选择它

而且我已经尝试使用 .waitForElementVisible 并且仍然无法选择它。

谢谢。