Hi guys,
I am looking for tool for visual testing. Project's automation language is php. I've heard about gemini on selenium camp as good one for visual testing. So could you answer on next questions:
- Is there any option out of the box to use it with web driver on php ?
- If no then what web driver you are using with Gemini
- Is it possible to connect it with Selenium grid
- I didn't see in example any assertion so how can I use it with CI(Bamboo for example) and see results like pass/fail. Is this plugin solve the issue ? - Plugin for Gemini which enables reporting test result
- What locators strategy does it use ? all or only css
- Did you share you automation framework somewhere(I mean page object/html object etc)
- Are you using it in Yandex for UI regression ? :))
- How to use it for visual testing on mobile devices
- How to exclude some object from comparing - Example whole body without video player.
- Is there any issues with iframes
- Are you using GraphicsMagick for image processing ?
- Am I right that all I need is give the locator on element I do not need to write what properties to compare like in Web Driver
- If test created for chrome can I reuse it for firefox ?I mean screenshots
- If I have design of element can I use it in the tests as baseline?
- Is there solution out of box for viewport I mean if content exceeds screen size will gemeni auto scroll it and glue it in one ?
- Is there any option for comparing level adjustmant - like pixel to pixel/ lower/ the lowest etc.
- Is there option to give coordinates instead of locator to compare
Currently that it, thanks for your answers in advance
Gemini is a tool written in Node.js, so it is no way connected with php on web driver php module.
We are using
wd
node.js library.Out of the box.
Gemini provides the DSL to write visual regression tests. You just declare test suits (which define areas to take shots of) and steps (which define actions to perform on the web page) and Gemini does the rest. It provides console and html reports out of the box.
CSS only.
Sorry, I didn't get the question.
Of course. We are using it at least for testing of our internal blocks library called Lego Islands and the SERP (Search Engine Results Page).
It's on the roadmap.
You can specify elements to ignore with
ignoreElements(selector...)
. It is on the docs: https://github.com/gemini-testing/gemini/blob/master/doc/tests.md#suite-builder-methodsWe didn't check.
We switched to the lightweight
png-img
library to make it faster.Yes, you are.
You can reuse the test code but not the images. It is if the rendering nature of the different browsers.
No. You should implement that design as a code block, that take screenshot of it with
gemini gather
command and use it as a reference.Gemini can't take screenshots of the elements that are larger then viewport. If you need to take shots of large elements, you should configure the size of the virtual screen in which you run selenium server so you content will fit into it.
You can adjust
tolerance
config value. https://github.com/gemini-testing/gemini/blob/master/doc/config.mdNot for now. But you can send a feature or a pull request ;)
Thank you for the interest to the Gemini!
Привет! А почему на английском вопрос? Тут вроде у нас русскоязычный форум.. Если хочется вести переписку на английском, мы очень сильно рекомендуем на en.bem.info/forum заводить топик! спасибо!
Привет, не знал что можно на русском. Спросил у друга который вроде бы часто сидит на этом форуме сказал что лучше на анлгийском :)). Теперь буду знать
2015-05-25 19:03 GMT+03:00 Yelena Jetpyspayeva notifications@github.com:
На английском предпочтительно общение в issues самих библиотек и инструментов. А данный форум рассчитан на русскоязычное общение.
Доброго времени суток,
А как конфигурить size of the virtual screen, это можно сделать где то в yml файле ? - это к ответу что делать есил элемент вылазит за границы вью порта и нужно скролить
Забыл спросить как запустить один и тот же тест для разных брейкпоинтов?
Заранее благодарен за помошь
Можно задавать размер окна браузера через опцию
windowSize
в конфиге или через вызов экшенаsetWindowSize()
в тестах. Не работает в Opera Presto (до 16 версии).Переформулируй вопрос, пожалуйста. Непонятно, что имелось в виду под брейкпоинтами.
у нас 2 ветки форума — ru и en.
Если можешь писать на англ и хочешь писать сразу на англ аудиторию, лучше заводить тему в https://en.bem.info/forum/
Если нет, пиши в https://ru.bem.info/forum/ на русском
Пока у тебя путаница :(
А что делать если максимальные размеры которые можно задать windowSize в конфиге или через вызов экшена setWindowSize() меньше чем эелемент ?
2015-07-08 0:10 GMT+03:00 Sergey Belov notifications@github.com:
Переформулируй вопрос, пожалуйста. Непонятно, что имелось в виду под брейкпоинтами. Скрин сайзы на которых меняеться верстка, extra narrow, narrow, medium, wide, что под собой подразумевает windowSize 480x400, 600x500, 800x600. При изменениии ширины меняеться верстка, положение элементов на странице. Но тест к примеру проверяет наличие одного и того же елемента при разных размерах окна браузера, и хотелось бы что бы это был один тест(один и тот же код, просто разные скрины для каждого размера окна браузера или вьюпорта).
Дайте знать если вам нужна еще какае то информация Спасибо, Слава
2015-07-08 0:10 GMT+03:00 Sergey Belov notifications@github.com:
Насчет брейкпоинтов ответ нашол: https://github.com/bem/bem-forum-content-ru/issues/443
К сожалению, только в firefox можно будет снять такой элемент. И для этого не нужно ничего делать, оно должно работать из коробки.
а кроме как использовать executeJS для скрола, из коробки нету возможности ?
@Gordiievskyi При взаимодействии с элементом Selenium сам подскроливает к нему. При снятии скриншота, Gemini скролит страницу так, чтобы вся снимаемая область попадала во вьюпорт. Поэтому, скролить самому необходимости, как правило, нет.
Для чего требуется скролить страницу самостоятельно?
мои извинения, моя ошибка, нужно было подождать елемент, в фаерфоксе давал локатор на боди а на скриншоте не было ботом элемента, думал что нужно доскролить. Спасибо
Коллеги, добрый день! Как выполнить скролл для проверки "прилипания элементов" к верхней кромке браузера?
@Gordiievskyi Конкретнее напишите, что хотите сделать
Может быть просто
.executeJs(function(window){ window.scroll = 100; })
внутри.capture('text', function(actions){ actions.executeJs(...); })
?