-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fd18f61
commit 4ec971f
Showing
1 changed file
with
97 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,98 @@ | ||
# apress-selenium_eti | ||
Межпроектные автотесты с товарами: ЕТИ, мини-ЕТИ | ||
===================== | ||
|
||
--- | ||
Межпроектные автотесты ЕТИ и мини-ЕТИ. | ||
Представляет собой гем apress-selenium_eti, который подключается в проекты Pulscen и Blizko. | ||
Код тестов пишется в этом геме, а на проектах эти тесты запускаются. | ||
|
||
! Автотесты из этого гема запускаются в проектах ! | ||
|
||
## Настройка гема и проектов | ||
- Установить ruby 2.4.10, bunlder 1.17.3. Для linux желательно использовать менеджер версий rvm. | ||
- Форкнуть репозиторий apress-selenium_eti на github. | ||
- Форкнуть репозиторий проекта Pulscen на github (если еще не сделано) https://github.com/abak-press/pulscen | ||
- Форкнуть репозиторий проекта Blizko на github (если еще не сделано) https://github.com/abak-press/blizko | ||
- Склонировать на локальную машину форкнутые репозитории: | ||
``` | ||
git clone [email protected]:{login_на_github}/apress-selenium_eti.git | ||
git clone [email protected]:{login_на_github}/pulscen.git | ||
git clone [email protected]:{login_на_github}/blizko.git | ||
``` | ||
|
||
- добавить ссылку на upstream репозиторий: | ||
``` | ||
git remote add upstream [email protected]:abak-press/apress-selenium_eti | ||
git remote add upstream [email protected]:abak-press/pulscen | ||
git remote add upstream [email protected]:abak-press/blizko | ||
``` | ||
- проверить, что ссылки на origin и upstream репозитории верные: | ||
``` | ||
git remote -v | ||
``` | ||
|
||
- Переименовать файл `run_example.yml` в `run.yml`. Выставить в нем опции запуска тестов. | ||
|
||
## Запуск тестов | ||
1. Подтянуть свежую версию гема apress-selenium_eti. | ||
``` | ||
git checkout master | ||
git pull upstream master | ||
``` | ||
|
||
2. Создать локально ветку в геме. | ||
``` | ||
git checkout –b <имя ветки> | ||
``` | ||
|
||
3. Подтянуть свежую версию проекта. | ||
``` | ||
git checkout master | ||
git pull upstream master | ||
``` | ||
|
||
4. Создать локально ветку в проекте. | ||
``` | ||
git checkout –b <имя_ветки> | ||
``` | ||
|
||
5. В файле Gemfile проекта указать локальный путь до гема. | ||
``` | ||
gem 'apress-selenium_eti', path: '/home/galiulin/autotests/apress-selenium_eti' | ||
``` | ||
где /home/galiulin/autotests - локальный путь | ||
|
||
6. Установить зависимые гемы в проекте. | ||
``` | ||
bundle install | ||
``` | ||
7. Находясь в директории проекта запустить спек, код тестов которого написаны в геме (в проекте найти одноименный спек). | ||
``` | ||
bundle exec rspec spec/company_site/eti/product_statuses_spec.rb | ||
``` | ||
или | ||
``` | ||
rspec spec/company_site/eti/product_statuses_spec.rb | ||
``` | ||
где spec/company_site/eti/product_statuses_spec.rb - путь в проекте до нужного спека | ||
|
||
8. Запуск тестов, которые находятся в одной папке. | ||
``` | ||
bundle exec rspec --pattern spec/company_site/eti/*_spec.rb | ||
``` | ||
где spec/company_site/eti - путь в проекте до папки с нужными спеками | ||
|
||
## Подключение дебаггера | ||
|
||
Для подключения дебаггера нужно в _run.yml_ прописать: | ||
``` | ||
debug: true | ||
``` | ||
И поставить в нужном месте кода `binding.pry` (перед строкой, из-за которой падает тест) | ||
|
||
Вместо добавления опции в конфиг можно перед `binding.pry` прописать: | ||
``` | ||
require 'pry' | ||
``` | ||
Тогда можно подключить дебаггер сразу в нужном месте одной строчкой (также перед строкой, из-за которой падает тест): | ||
``` | ||
require 'pry'; binding.pry | ||
``` |