Как стать автором
Обновить

Ruby в QA-Test. Часть 1

Время на прочтение4 мин
Количество просмотров3.7K
Обложка первой статьи по QA Ruby
Обложка первой статьи по QA Ruby

На самом деле Ruby так же используют не только в веб-разработке, но и в тестировании веб-приложений/софта.
На Хабр-Карьера за минуту можно найти такие вакансии:

Собственно сподвигло меня написать данную серию статей нехватка материала на русском языке по этому направлению.
Мне нравится использовать Ruby в целом, кроме того, я просто хочу иметь ссылку для себя в будущем и чтобы поделиться с другими.

Темы всей серии статей
  • Ruby

  • Selenium

  • RSpec

  • Capybara

  • Авторская pdf-шпаргалка по HTML

  • CSS

  • Основные понятия QA-Тестирования

  • Docker

  • Git

Начинать мы будем только со знанием синтаксиса и самого языка Ruby. Постепенно набирая скиллы в свое "резюме". В конце каждой части, эти самые скиллы будут скапливаться в конце, в спойлере "Коробка скиллов по завершению данной части.".

Ruby.

Основы синтаксиса даются легко, дальше будет сложнее, но более понятно, так как язык является высокоуровневым и его девиз: "Лучший друг программиста!". Что под собой несет некоторые выводы:

  • Многие известные инструменты распространяются на Ruby.

  • Синтаксис приближен к простому языку.

  • Разработка на Ruby доставляет удовольствие и не съедает много времени на решение обычных-стандартных задач.

Как по-мне синтаксис и основы языка можно изучить за 0.5-1 месяц, используя бесплатные ресурсы в Интернете.
Примеры таковых:

  • RubyRush - изучение языка на практике с нуля, бесплатно.

  • YouTube - так как коммьюнити в России небольшое, курсов на ютубе немного, но все же они есть и среди них достаточно качественного материала.

Selenium.

Начало работы с Selenium.

Почему?
Selenium-WebDriver - по моему мнению один из самых мощных инструментов, которые я использовал для тестирования веб-серверов через браузер и автоматизации любых повторяющихся задач в веб-приложениях

Selenium и Ruby - отличный способ автоматизации тестирования веб-приложений. Отладка также упрощается, потому что вы можете видеть, как скрипт запускается в браузере шаг за шагом.

Как использовать Selenium с Ruby?

Я объясню, как запустить Selenium с помощью базового скрипта Ruby. Эта настройка будет независима от какой-либо платформы. Все, что требуется, это:

  • Веб-браузер, который может подключаться к Selenium. (Мой выбор Firefox)

  • Ruby Gem для Selenium.

  • Ruby на ПК.

Я хочу иметь простой скрипт, который можно было бы использовать практически в любой среде(Mac/Linux/Windows), в которой могут работать Ruby, Selenium и Firefox.

Стартуем?

  • Убедитесь, что у вас установлена последняя версия Ruby.

rvm install ruby-3.1.0
  • Устанавливаем Selenium-Webdriver gem.

gem install selenium-webdriver
  • Веб-браузер FireFox

    Большинство версий Firefox будут поддерживать Selenium. Версия Firefox, используемая в этих статьях: 46.0.1 (она может меняться, взависимости от части)

Первый шаг: проверка соединения

Я всегда хочу провести простой тест, чтобы убедиться, что каждый компонент может связываться друг с другом. Здесь мы хотим убедиться, что скрипт Ruby может загрузить библиотеку Selenium и запустить Firefox.

4.1.0 :001 > require 'selenium-webdriver'
 => true
4.1.0 :002 > browser = Selenium::WebDriver.for :firefox
 => #<Selenium::WebDriver::Driver:0x..f96ee1c90b443ac24 browser=:firefox>

Советы по решению проблем, если Firefox не запускается:

  • Проверьте список проблем в Github-репозитории Selenium.

  • Уточните не стоит ли у вас Selenium WebDriver 4.0.1 (у меня с ним возникали проблемы). Обновитесь до последней версии (4.1.0).

  • Попробуйте использовать более старую версию Firefox, если приведенный выше скрипт не работает.

Заметка. если Firefox не установлен, будет выдано:

browser = Selenium::WebDriver.for :firefox
Selenium::WebDriver::Error::WebDriverError: Could not find Firefox
binary (os=macosx).
Make sure Firefox is installed or set the path manually with
Selenium::WebDriver::Firefox::Binary.path=

Второй шаг: загружаем веб-страницу посредствам Selenium

Следующий наиболее важный шаг - сообщить браузеру (программно), как загрузить веб-адрес, чтобы он мог перейти на сайт. Есть много способов сделать это, но обычно я делаю это так: после запуска браузера выполните следующие команды.

4.1.0 :004 > browser
 => #<Selenium::WebDriver::Driver:0xf0cec284e895d64 browser=:firefox>
4.1.0 :005 > browser.navigate.to 'http://https://habr.com/ru/publication/new'
 => ""

Советы по решению проблем, если адрес не загрузился:

  • Убедитесь, что браузер запущен. Если окно браузера было закрыто случайно, перезапустите его, инициализировав другой экземпляр:

4.1.0 :006 > browser2 = Selenium::WebDriver.for :firefox
  => #<Selenium::WebDriver::Driver:0xe0ced172e885e32 browser=:firefox>
4.1.0 :007 > browser2.navigate.to 'http://https://rubyrush.ru/'

Чтобы статья не была перегруженной, я разделил материал на несколько статей с погружением в QA Ruby.
Сейчас весь текстовый материал готов, подготавливается красивое оформление статей и пару интересных вставок в них.


Что стоит ждать во второй статье:

  • Больше советов по решению проблем, если адрес не загрузился.

  • Как выбрать элементы на сайте.

  • Выбор элементов, которые связанны при помощи тэга ID.
    Дополнение: Советы по решению проблем, если выбор по идентификатору не работает

  • Выбор элементов по их классу.

  • Выбор элементов по "Xpath".

  • Моя красивая pdf-шпаргалка по HTML, для быстрого ориентирования по элементам.

Продолжение следует...

Коробка скиллов по завершению данного этапа.
  • Ruby - Youtube/RubyRush

  • Git - YouTube

  • SQLite - RubyRush

Данила Кравченко

Ruby-разработчик / Ведущий RubyDigest на habr.com

Теги:
Хабы:
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

Публикации

Истории

Работа

Ruby on Rails
4 вакансии
Программист Ruby
4 вакансии

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань