我正在尝试运行测试(黑猩猩/),昨天有工作,今天没有。这是黑猩猩的配置:
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配置:
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)中尝试过,结果是相同的。
最佳答案
黑猩猩对您隐藏了许多硒配置。例如,它会在安装时为您下载驱动程序二进制文件。但是,您的本地环境通常比这要复杂一些。您应该检查的第一件事是-浏览器是否在未注意到的情况下更新了其版本。如果您没有锁定您的browser-driver-chimp
版本,则实际上会发生这种情况。到目前为止,我可以看到您用于云运行:
browser: 'Chrome',
browser_version: '58.0',
这似乎可行。因此,最好将其版本明确锁定(包括禁用浏览器更新)。我也没有在0.50.2看到黑猩猩本身的重大变化。
检查兼容的驱动程序浏览器版本的一种方法是浏览ChromeDriver的当前发行说明。万一这仍然无济于事-降级驱动程序或浏览器对,直到它起作用。
看起来您需要使用该Chrome版本的
ChromeDriver v2.31 (2017-07-21)
,而黑猩猩则是pinned to 2.28。几次我不得不自己玩猜谜游戏,直到再次发挥作用。
关于selenium - 黑猩猩测试停止工作,并引发错误:缺少或无效的“entry.level”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47727311/