【问题标题】:nightwatch runs single test twicenightwatch 运行单次测试两次
【发布时间】:2015-10-15 16:42:48
【问题描述】:

在单个测试套件上运行 nightwatch 时,它会并行启动套件两次,从而导致错误。如何确保它只运行一次?

这是我的输出:

> nightwatch --test tests/een.js --env default
Starting selenium server... started - PID:  2936

[Een] Test Suite
================

Running:  step one - start game
started - PID:  2936

[Een] Test Suite
================

Running:  step one - start game
No assertions ran.


Error retrieving a new session from the selenium server
Error: read ECONNRESET
    at errnoException (net.js:901:11)
    at TCP.onread (net.js:556:19)

Connection refused! Is selenium server started?

测试本身几乎是空的:

module.exports = {
    'step one - start game': function(browser) {
        browser
            .url('http://new.femalesuperheroes.nl')
            .end();
    }
}

我在 Windows 8 上使用 selenium server Standalone 2.48.2。奇怪的是,在运行 windows7 的不同机器上使用相同的设置它只运行一次,就像它应该的那样。

【问题讨论】:

    标签: selenium-webdriver nightwatch.js


    【解决方案1】:

    检查两台机器上运行的 Java 版本。您可能必须将 Java 版本更新到最新版本(1.8.0_65 应该可以正常工作)。

    查看 Nightwatch 问题:https://github.com/nightwatchjs/nightwatch/issues/597

    【讨论】:

    • 我使用 ShellJs 编写了一个 NodeJs 脚本来启动 nightwatch 测试执行。我不小心将脚本与其他测试一起放在了 test 文件夹下。当 nightwatch 启动时,它会执行测试文件夹中的所有测试。所以我得到了执行测试的无限循环,因为不小心放置在测试文件夹中的启动脚本会再次启动守夜人。将启动脚本移动到不同的文件夹,解决了我的问题。
    【解决方案2】:

    当你想使用默认环境时,不要使用 --env 标志。它将在默认设置上运行。我认为这可能是您的问题的原因。

    【讨论】:

    • 回答的目的是解决OP的问题。你不要猜测它是否可以提供帮助。一旦您有足够的声誉,您就可以对问题发表评论,这将是您可以在评论中提出建议的情况。 不是作为答案。
    猜你喜欢
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2012-04-29
    • 2015-01-17
    • 2014-03-27
    相关资源
    最近更新 更多