zorro: не совсем, во-первых я не обратил внимание в какой структуре выдает api randomuser.me, почему-то подумал что в объекте user все поля прописаны, но там дерево и сейчас переписываю с проходом по этому дереву свойств. Во-вторых, я сверяю id с именем поля в возвращаемом объекте, если id не подходит то можно добавить к полям data-атрибут и изменить в скрипте c id на data-*
Сначала ставишь nodejs, потом с помощью npm устанавливаешь в папку с проектом сам gemini (npm install gemini) и заодно npm install phantomjs (если тестировать локально)
по дефолту, при вызове гемини, он будет искать js-ски c тестами в папке под именем gemini, если не указать конкретную директорию
Далее выбор, либо тестировать только локально с помощью phantomjs, либо удаленно (и локально, если нужно) используя, например, sauce connect для сервиса saucelabs.
Я выбрал первое т.к. это быстрее и мне не нужно регрессионно тестировать элементы в разных браузерах, ведь в большинстве случаев если что-то изменилось, то оно поехало везде.
Если тестить только с помощью фантома, то в файле .gemini.yml достаточно указать только:
rootUrl: localhost:8000 - адрес локального сервера
browsers:
phantomjs: phantomjs
Если удаленно с помощью saucelabs, то:
rootUrl: localhost:8000
gridUrl: ondemand.saucelabs.com/wd/hub
browsers:
opera12:
browserName: opera
version: '12.06'
firefox28:
browserName: firefox
version: '28.0'
firefox27:
browserName: firefox
version: '27.0'
( браузеры понятное дело выбираются из списка предоставляемым saucelabs )
и так далее, на сайте saucelabs можно посмотреть больше дополнительных параметров.
Если тестим только c помощью фантома, то в отдельной консоли запускаем
phantomjs --webdriver=4444
в другом консольном окне переходим в директорию нашего проекта и делаем эталонные скрины командой gemini gather
Запускаем тесты с помощью команды gemini test --reporter flat --reporter html
ключ '--reporter flat' выдаст стандартный отчет о тестах, а '--reporter html' построит отчет в html с изображениями
Если тестим удаленно, то идем на сайт saucelab, читаем про sauce connect, скачиваем для своей системы, запускаем коннект.
в другом консольном окне переходим в директорию нашего проекта и вводим
export SAUCE_USERNAME=имя
export SAUCE_ACCESS_KEY=ключ
имя и ключ есть в аккаунте на сайте.
ну и дальше делаем эталонные изображения, ну и потом тестируем
вроде все=)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.