问题标签 [nightmare]

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 回答
2637 浏览

node.js - NightmareJS 在测试之间保持会话

我正在将 NightmareJS 与 Mocha 一起使用。一切似乎都很好,但是我在分离测试时遇到了问题,因为我的会话不会通过不同的测试用例持续存在。

第一个测试通过了,但是第二个测试Should be able to edit失败了,因为即使我使用了分区选项,我最终还是在同一个登录页面上。我该如何克服呢?

0 投票
1 回答
1463 浏览

javascript - ES6 javascript 测试使用 Tape 和 Nightmare.js

我一直在尝试使用Tape assertions 和Nightmare.js来测试我的 ES6 代码来加载测试页面。我一直在尝试不同的 ES6 方法:async/await、yield、generators,我觉得我有点过头了。我也不确定何时何地不使用babel-tape。我可以通过以下测试,但是在我创建另一个评估块的那一刻,它就会出错。文档相当稀缺(或使用 Mocha)。这里的最佳做法是什么?

附言。我正在使用babel-tape-runner来运行测试。

0 投票
1 回答
368 浏览

javascript - 使用 Nightmare 从渲染器进程向节点进程发送消息

如何在 Nightmare 中将消息从渲染器进程(网页)发送到主进程(节点)?Electron 中有ipc,而 Nightmare 是建立在 Electron 之上的,所以我想这是可能的,但我不知道怎么做。

像这样的东西:

http://example.com

index.js

0 投票
1 回答
689 浏览

javascript - 使用 nightmarejs 单击图像

我在这个问题上挣扎了几天。我正在使用 nightmarejs 单击 Ebay 产品列表页面上的图像。单击时,图像的全尺寸版本会出现在灯箱中。

Nightmarejs 就是不会点击这张图片!我可以点击其他链接,但图像永远不会被点击,所以没有灯箱弹出。这是我要单击的图像:

在此处输入图像描述

网址:http ://www.ebay.com/itm/Newton-Distance-S-III-Lime-Red-Running-Shoes-Mens-M-New-155/311559183260?hash=item488a5fdb9c&_trkparms=5374%3AFeatured%7C5373% 3A0

这是我的代码:

我已经尝试了几乎所有可能的选择器。我也没有从噩梦中收到任何异常(如果它找不到它抛出的选择器)。

我真的被这个难住了。

0 投票
2 回答
757 浏览

automated-tests - 在服务器上使用 Mocha 运行 NightmareJS(Bamboo 代理)

我一直在与这个问题作斗争一段时间,似乎无法找到解决方案。在服务器上使用 NightmareJS + mocha 运行测试时,它们会失败。我尝试运行:

但看不到任何日志/操作错误等。只是测试失败(超时)。

我只能在没有 NightmareJS 的情况下运行 Mocha 测试,而且它们运行良好。此外,在我的本地机器上运行 nighmareJS 测试时,它们可以正常工作。

NightmareJS 安装在服务器上,package.json 内容:

这是测试的代码:

我该如何调试呢?当我在服务器上运行时,我不能使用 show: true 选项。

0 投票
3 回答
9188 浏览

javascript - 噩梦 JS 不工作

我知道问题的标题看起来很模糊!但仅此而已。

我在生产服务器上安装了nodejs,它的phantomjs工作正常,然后我通过安装了nightmare npm install nightmare,我可以在node_modules中看到它,我尝试了github上开发人员列出的示例:

什么也没发生,脚本没有输出任何东西,我将脚本简化为一个简单的 goto,对于我服务器上的一个页面,当我通过运行脚本时,该页面从未被调用node file.js

我有 CentOS 6.7,phantomjs 1.1 我还在使用最新版本的 phantomjs 的全新 CentOS 7 安装上对其进行了测试,同样的事情。

我是否缺少某种先决条件或其他东西?我如何调试问题,因为node script.js没有给出任何输出

更新:显然问题是,电子,它被噩梦'而不是phantomjs'使用需要一个图形环境,这就是它无法在我的环境中运行的原因。

0 投票
3 回答
10976 浏览

javascript - 噩梦条件等待()

我正在尝试使用 Nightmare 抓取网页,但希望等待#someelem出现,前提是它确实存在。否则,我希望 Nightmare 继续前进。如何做到这一点.wait()

我不能用.wait(ms)。Using.wait(selector)意味着 Nightmare 会一直等待直到元素出现,但是如果页面永远不会有这个元素,Nightmare 会一直等待。

最后一个选项是使用.wait(fn). 我已经尝试过这样的事情

因此,等待并再次尝试(达到阈值),如果未找到该元素,则继续前进。setTimeout 周围的代码似乎是错误的,因为.wait是在浏览器范围内完成的。

提前致谢!

0 投票
0 回答
292 浏览

node.js - 如何在评估中同步进行函数调用?

嗨,我正在使用 PhantomJS 和 nightmare 进行自动化,一旦我的 UI 自动化通过 nightmare 执行,我需要进行 DB 调用,我正在使用 nightmare 的评估功能来进行 DB 调用,我期望调用会进行同步但实际发生的是我的 DB 函数在 UI 自动化执行完成之前首先被触发,因为结果是传递了不正确的数据进行 DB 验证。以下是 ma 代码示例

0 投票
1 回答
817 浏览

node.js - 无法使用 phantomJS 获取 iframe 的元素

我正在寻找一种方法来控制文档中的元素。问题是,文档附加到 iFrame。

这是一个例子:

我在上面要做的是:

  • 使用 Url 获取 iFrame。
  • 使用它来控制 iFrame 中的每个元素。
0 投票
0 回答
52 浏览

javascript - 动态控件不在 phantomJs 浏览器中加载,而是在 IE、Firefox、Chrome 中加载

我正在尝试使用 phantomJS 自动化一个场景,在该场景中有一个动态网格。我们必须手动填充网格中的数据。在填充网格之前,应显示一个空行。该空行没有显示在 phantomJS 浏览器中,而该行正在加载到 IE、Mozilla Firefox 和 google chrome 中。下面是我正在使用的脚本,我尝试使用行中元素的所有 ID,并尝试等待它加载足够的时间。

PhantomJS 版本 - 2.1.1 Node JS 版本 -0.12.13-x64.msi python 版本 -3.5.1 Nightmare -1.8.2