Comments (7)
Здравствуй!
Сперва думал что как в gemini, при первом запуске собираются, а при повторном сравниваются - но видимо нет
В gemini не так работает. В gemini сначала необходимо запустить инструмент:
gemini update
И эта команда сохранит эталонные скриншоты
А затем необходимо выполнить
gemini test
В случае с hermione необходимо использовать опции --update-refs
.
Тогда инструмент снимет эталонные скриншоты.
Затем уже можно запускать без этой опции.
Вообще вместо опции --update-refs
лучше использовать hermione gui
, который подключается как плагин.
Вот документация как подключать плагины.
from testplane.
Еще занимаясь дебагом этой проблемы заметил, что screenshotPath не подхватыватся из конфига методом, выводящим ошибку (пробовал и без этого параметра конфигурации, и с ним - путь к скринам в ошибке не меняется).
Тут нужен минимально воспроизводимый кейс проблемы, где описано текущее поведение и ожидаемое, чтобы нам легче было понять проблему.
from testplane.
Привет. Спасибо за быстрый отклик.
gemini update
Да, знаю, c gemini так и делал. А с гермионой не нашел информации как нужно, так тоже пробовал - не прокатило.
В случае с hermione необходимо использовать опции
--update-refs
.
Вот этого не знал. Неплохо было бы это в README добавить.
Вообще вместо опции
--update-refs
лучше использоватьhermione gui
, который подключается как плагин.
А html-reporter я уже подключал к gemini, когда пробовал этот фреймворк.
Т.е. само подключение его как плагина убирает необходимость передавать опцию --update-refs
?
Тут нужен минимально воспроизводимый кейс проблемы
Ок, завтра попробую набросать минимальный вариант.
from testplane.
нужен минимально воспроизводимый кейс проблемы
Вот мой файл конфигурации (.hermione.conf.js
в корне проекта):
module.exports = {
sets: {
all: {
files: 'test/hermione/spec/**/*.spec.js'
}
},
baseUrl: 'http://localhost:8080',
waitTimeout: 10000,
screenshotPath: 'test/screens',
browsers: {
chrome: {
desiredCapabilities: {
browserName: 'chrome'
}
}
},
};
Теперь все работает нормально, но скриншоты попадают в директорию hermione в корне проекта, а не в папку test.
Гермиону установил локально, запускаю командой
node node_modules/hermione/bin/hermione --update-refs
В тесте вызываю методы так:
.assertView('plain', selector)
from testplane.
Вот этого не знал. Неплохо было бы это в README добавить.
Приносим извинения за сырую документацию по этому методу, в ближайшее время добавим.
А html-reporter я уже подключал к gemini, когда пробовал этот фреймворк.
Т.е. само подключение его как плагина убирает необходимость передавать опцию --update-refs?
Да, при использовании команды gui
из плагина html-reporter
можно не запускать hermione
с опцией --update-refs
. Скажем так.. одновременное использование этой опции и gui
будет конфликтовать в каком-то смысле этого слова, так как --update-refs
будет иметь больший приоритет, и при запуске gui
тесты всегда будут проходить, а скриншоты пересниматься безусловно. gui
же позволяет предварительно посмотреть глазами, что будет сохранено в качестве эталона.
Теперь все работает нормально, но скриншоты попадают в директорию hermione в корне проекта, а не в папку test.
Еще раз приношу извинения, что в доке этого не было.
В конфиге выше вижу, что используется screenshotPath
. Эта опция по смыслу отвечает не за то, куда будут сохраняться эталоны, а за то, куда будут сохраняться скриншоты при вызове метода saveScreenshot
в тесте (к методу assertView
он не имеет никакого отношения, этот метод просто снимает скриншот всей страницы и ни с чем его не сравнивает).
Чтобы сконфигурировать сохранение скриншотов в определенную папку, необходимо использовать опцию screenshotsDir
, которая может принимать строку или функцию.
from testplane.
Большое спасибо за пояснения.
Рад что помог вам улучшить документацию, фреймворк у вас очень удобный, если знать все тонкости)
from testplane.
from testplane.
Related Issues (20)
- Не работает ховер, если страницу нужно просколлить HOT 8
- Перехватить запросы на внешние ресурсы? HOT 2
- Как сохранить отчет от Гермионы UI версию? HOT 2
- Подключение @wdio/devtools-service HOT 4
- Impossible to use `hermione` with yarn pnp mode HOT 7
- Некорректный тип browser.executionContext.hermioneCtx HOT 2
- Option resetCursor moves the cursor to the center of the screen HOT 2
- Methods of the object stored in hermione.ctx are not passed to the test HOT 9
- Некорректный тип функции `it(` HOT 4
- v9.0.0: Breaking changes
- Use Chrome's new Headless mode HOT 3
- Отсутствуют типы для метода moveCursorTo HOT 1
- Тесты на типы HOT 2
- Perform preliminary research and develop a solution for automatic API reference generation or typings
- moveCursorTo не идентичен moveTo в hermione 7 (move target out of bounds) HOT 5
- hermione.ctx нельзя типизировать HOT 4
- Not clear how to create wrapper and fail test with browser.mock HOT 2
- Add a handy way to screenshot the viewport
- В тесте недоступно поле browserId HOT 5
- Пропала типизация describe/it и т.п. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from testplane.