Comments (4)
Hermione as the Gemini for each test case load story by URL from scratch
this ensures test independence. In your case you can't give such a guarantee
so browser load all static assets
it's wrong - browser can reuse already downloaded static. just change your testsPerSession
option
For us with ~2000 tests with Gemini + SauceLabs we run all tests around an hour
we can run about 30k tests for 5-10 minutes. It depends on your concurrency settings. Maybe you should do something with your storybook performance? I would like to see your hermione/gemini settings
But after we switched into Creevey all tests runs in around 10 minutes.
Your tool is aimed at a specific case for which you decided to write a separate tool. You claim that your tool is faster, but in fact you just removed the part (in my opinion, very important) of the logic that runs in hermione. But I think that you can do the same from hermione plugin ;)
Hermione good tool for e2e visual tests
hermione is not only about visual testing - you can write any types of browser-based testing
from yandex-ui.
it's faster
any proofs? can't find any benchmarks in docs
from yandex-ui.
It's pretty obviously, Hermione as the Gemini for each test case load story by URL from scratch, so browser load all static assets and initialize whole storybook bundle every time. So if you use BrowserStack or SauceLabs as we used in react-ui and if you don't have low latency and good bandwidth, it's be significant difference. For us with ~2000 tests with Gemini + SauceLabs we run all tests around an hour, I did small hack for Gemini, to don't refresh browser page for next test case and it goes to ~30 minutes. But after we switched into Creevey all tests runs in around 10 minutes.
It's not simple to get right benchmarks, because for Hermione you need write a lot boilerplate tests code. Or I could try to integrate Creevey into yandex-ui. And we could compare real numbers in real project.
Hermione good tool for e2e visual tests, but if you want to get unit-like visual tests like test your ui-kit with huge amount small test cases, you need to allow switch between fast as possible and don't waste time to write/maintenance test code. So Creevey helps with that.
from yandex-ui.
this ensures test independence. In your case you can't give such a guarantee
For React components you could simply unmount/mount components with fresh state. If your components has side effects and you need reload browser page, maybe you have something wrong with your components. If you manually open storybook and go through stories, you can see browser page not reloading every time then you switch story.
it's wrong - browser can reuse already downloaded static. just change your testsPerSession option
I didn't say, that new selenium session is starting for each test case, I said about your open new url every time then you start new test case. So yeah, browser could cache assets, but it compile js anyway.
It depends on your concurrency settings
Yeah, sure. I forgot to say, we have 6 parallel sessions.
But I think that you can do the same from hermione plugin ;)
What plugin you mean? It might be cool, if some plugin could generate tests in runtime from stories. So you don't need write all of that stuff explicitly.
you can write any types of browser-based testing
Creevey could do that as well :)
from yandex-ui.
Related Issues (10)
- BUG Button HOT 2
- update to React 17 HOT 1
- Документация на Storybook для компонента Popup имеет неточность
- Низкий FPS при использовании шторки в режиме энергосбережения на айфоне
- Добавить поддержку react 18
- Объясните выбор названий классов для некоторых компонентов HOT 2
- Storybook examples don't work HOT 1
- [Textinput] hasClear не работает, если значение изменятся не через prop value
- Компонент банковской карты
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 yandex-ui.