黑猩猩测试停止工作,抛出错误:丢失或无效' entry.level'

时间:2017-12-09 09:48:00

标签: selenium testing webdriver mocha chimp.js

我试图进行测试(Chimp /),昨天有工作,今天他们没有。这是黑猩猩的配置:

module.exports = {
  // - - - - CHIMP - - - -
  watch: false,
  watchWithPolling: false,
  sync: true,

  // - - - - WEBDRIVER-IO  - - - -
  webdriverio: {
    coloredLogs: true,
    logLevel: 'silent',
    screenshotPath: './tests/logs/screenshots',
    waitforTimeout: 20000,
    waitforInterval: 250
  },

  // - - - - MOCHA  - - - -
  mocha: true,
  mochaConfig: {
    timeout: 20000,
  },
  chai: true,
  // path: './tests/spec',
  path: './tests/spec/shop/configurator/products',
  format: 'dot',

 // - - - - SELENIUM  - - - -
  browser: 'chrome',
  platform: 'ANY',
  name: '',
  user: '',
  key: '',
  port: null,
  host: null,

  // - - - - METEOR  - - - -
  ddp: 'http://localhost:3000',
  serverExecuteTimeout: 20000,

  // - - - - PHANTOM  - - - -
  phantom_w: 1920,
  phantom_h: 1280
};

这是报告输出,在第一次测试开始之前它就失败了。

[chimp] Running...


  Configurator @watch
    1) "before all" hook


  0 passing (10s)
  1 failing

  1) Configurator @watch "before all" hook:
     Uncaught unknown error: cannot determine loading status
from unknown error: missing or invalid 'entry.level'

在browserstack中运行时,它可以正常工作。这是browserstack配置:

var browserstack = require('browserstack-local');
var bs_local = new browserstack.Local();
var bs_local_args = {/* ... */};

// starts the Local instance with the required arguments
bs_local.start(bs_local_args, function () {
    console.log("Started BrowserStackLocal");
});

module.exports = {
    // - - - - CHIMP - - - -
    watch: false,
    watchWithPolling: false,
    sync: true,

    // - - - - WEBDRIVER-IO  - - - -
    webdriverio: {
        baseUrl: 'http://localhost:3000',
        coloredLogs: true,
        desiredCapabilities: {
            os: 'OS X',
            os_version: 'El Capitan',
            browser: 'Chrome',
            browser_version: '58.0',
            resolution: '1280x1024',
            project: 'project',
            build: 'build',
            'browserstack.local': true
        },
        logLevel: 'silent',
        screenshotPath: './tests/logs/screenshots',
        waitforTimeout: 50000,
        waitforInterval: 250
    },

    // - - - - MOCHA  - - - -
    mocha: true,
    mochaConfig: {
        timeout: 60001, 
    },
    chai: true,
    path: './tests/spec',
    format: 'dots',

    // - - - - Screenshots - - - -
    screenshotsOnError: true,
    screenshotPath: './tests/logs/screenshots',
    captureAllStepScreenshots: false,
    saveScreenshotsToDisk: true,
    saveScreenshotsToReport: false,

    // - - - - SELENIUM  - - - -
    name: 'project',
    browser: 'Chrome',
    user: '...',
    key: '...',
    host: 'hub.browserstack.com',
    port: 80,

    // - - - - METEOR  - - - -
    ddp: 'http://localhost:3000',
    serverExecuteTimeout: 30000,

    // - - - - PHANTOM  - - - -
    phantom_w: 1280,
    phantom_h: 1024
};

我试图解决的是更新黑猩猩(0.50.2),重新安装node_modules,用firefox运行它,没有任何帮助。我在不同的环境(OS / Ubuntu 16.04)中尝试过,结果是一样的。

1 个答案:

答案 0 :(得分:1)

Chimp隐藏了很多Selenium配置。例如,它会在安装时为您下载驱动程序二进制文件。但是,您的本地环境通常比这更复杂。您应该检查的第一件事是 - 您的浏览器是否在没有注意到的情况下更新了它们的版本。如果您还没有锁定browser-driver-chimp版本,这实际上往往会发生。到目前为止,我可以看到你用于云运行:

 browser: 'Chrome',
 browser_version: '58.0', 

这似乎有效。因此,明确锁定其版本是一种很好的做法(这包括禁用浏览器更新)。在0.50.2,我也看不到黑猩猩本身的重大变化。

检查兼容的驱动程序 - 浏览器版本的一种方法是查看ChromeDriver的当前发行说明。如果这仍然没有帮助 - 降级驱动程序或浏览器对,直到它工作。 看起来您需要ChromeDriver v2.31 (2017-07-21)使用Chrome版本,而黑猩猩版本pinned to 2.28

有几次我不得不自己玩猜谜游戏,直到让它再次运作。