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

от автора

Обложка первой статьи по 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


ссылка на оригинал статьи https://habr.com/ru/post/645411/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *