Я делаю всплеск, чтобы посмотреть, могу ли я запустить wdio синхронно в автономном режиме.
const { remote } = require('webdriverio')
const Fiber = require('fibers')
Fiber(function () {
const driver = remote(/* Excluded for brevity */)
console.log('Before')
driver.pause(10000)
console.log('After')
driver.deleteSession()
}).run()
При запуске я получил следующий журнал:
DEBUG @wdio/config: @wdio/sync not found, running tests asynchronous
Итак, яподумал, отлично, если я установлю @ wdio / sync, он будет автоматически выполняться в синхронном режиме.Однако после npm i -S @wdio/sync
я все еще получаю тот же журнал, который для меня не имеет никакого смысла.
Я удалил node_modules и снова установил их, но та же проблема.Это мои зависимости от package.json
:
"dependencies": {
"@wdio/sync": "^5.7.1",
"fibers": "^3.1.1",
"webdriverio": "^5.7.1"
}
Я также дважды проверил, что версия fibers
в @wdio/sync
такая же.
В любом случае, как и следовало ожидатьdriver
- это обещание, поэтому приведенный выше код завершается ошибкой со следующей ошибкой:
TypeError: driver.pause is not a function
Наконец, причина, по которой я это делаю, заключается в том, что я хочу отделить создание сеанса от теставыполнение, позволяя тестовым кейсам создавать и уничтожать сеансы по своему усмотрению, поддерживая синхронное выполнение.
ОБНОВЛЕНИЕ: После еще одного расследования я обнаружил, что причина, по которой он не смог импортировать @wdio/sync
, заключается в следующем:
ERROR @wdio/config: Error: You can't reassign a plugin after appling another plugin
at Object.apply (/project/node_modules/loglevel-plugin-prefix/lib/loglevel-plugin-prefix.js:49:13)
at Object.<anonymous> (/project/node_modules/@wdio/sync/node_modules/@wdio/logger/build/node.js:116:31)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/project/node_modules/@wdio/sync/node_modules/@wdio/logger/build/index.js:20:10)
Я попытаюсь выяснить, чтоэта ошибка означает, и если я могу это исправить.Любая помощь будет оценена.