Как обновить Hermione до Testplane
Если в вашем проекте Hermione младше 8-й версии, то прочтите сначала:
- «Как обновить hermione до версии 4.x»;
- «Как обновить hermione до версии 5.x»;
- «Как обновить hermione до верс ии 6.x»;
- «Как обновить hermione до версии 7.x»;
- «Как обновить hermione до версии 8.x».
Мы рекомендуем вам обновлять Hermione поэтапно, убеждаясь на каждом этапе, что все тесты проекта корректно выполняются.
Что изменилось?
Этот проект ранее назывался Hermione, но со временем возникли некоторые проблемы с авторскими правами и товарными знаками, что привело к решению о ребрендинге. После некоторого обсуждения мы остановились на Testplane в качестве официального нового названия. Так как это изменение является простым ребрендингом, мы продолжили сквозное версионирование, вместо того, чтобы начинать версионирование заново. Таким образом, Testplane@8.x является простой заменой Hermione@8.x. Testplane имеет полную обратную совместимость c Hermione — умеет читать конфиги Hermione, поддерживает ее плагины, а для более плавного переезда экспортирует сразу 2 bin-файла (testplane и hermione).
Как переехать?
1. Заменить npm-зависимости hermione
на testplane
в package.json
npm uninstall hermione
npm install -D testplane
2. В вашем ts-конфиге tsconfig.json
заменить поле hermione
на testplane
{
"compilerOptions": {
"types": [
"testplane"
]
}
}
3. Заменить все импорты и декларации пакета hermione (при наличии)
import ... from "hermione"
→import ... from "testplane"
require("hermione")
→require("testplane")
declare module "hermione"
→declare module "testplane"
4. Опциональные изменения (не обязательны для переезда, но рекомендованные)
- при запуске используйте bin-файл
testplane
вместоhermione
; - переименуйте файл конфигурации
.hermione.conf.(t|j)s
в.testplane.conf.(t|j)s
; - используйте глобальный хелпер
globalThis.testplane
вместоglobalThis.hermione
; - для переопределения конфига используйте переменные окружения, начинающиеся на
testplane_
вместоhermione_
; - используйте поле
testplane
вместоhermione
в обработчиках событий; - для тайпингов используйте TestplaneCts вместо
HermioneCtx
; - для получения контекста в тесте используйте свойство браузера
executionContext.testplaneCtx
вместоexecutionContext.hermioneCtx
; - если вы используете дефолтное значение опции screenshotsDir, то переименуйте папку со скриншотами "hermione/screens" в "testplane/screens" иил явно укажите в конфиге значение;
- если вы используете дефолтное значение опции sets.files, то переименуйте вашу папку с тестами "hermione → testplane" или укажите явно значение опции.
Поддержка
Если при переезде вы столкнетесь с проблемами или у вас возникнут какие-либо вопросы, то приходите в github issues — и мы обязательно вам поможем!