Как да разработя рамка за автоматизация на тестове от нулата?

В това ръководство стъпка по стъпка ще опиша как да разработя модулирана тестова рамка за автоматизация от нулата, използвайки Java, Selenium, TestNG и Maven.

Като начало нека да видим какво представлява рамката за автоматизация на тестовете и какви са ползите от създаването й.



Тестова рамка за автоматизация

Каква е целта на рамка за тестова автоматизация? Какви предизвикателства решава екипът за разработка?


При пъргавата разработка може да нямате достатъчно време да автоматизирате новите си функции навреме, така че може да създавате автоматизирани скриптове, дублирайки много код на много места.

Кодът за рефакторинг е неразделна част от разработването на софтуер, за да се избегне натрупването на огромен технически дълг. Това се отнася и за автоматизацията на тестовете; чрез рефакторинг на вашите автоматизирани скриптове, вие ще подобрите четливостта и поддръжката в дългосрочен план.


В този урок на Test Automation Framework крайният продукт е резултат от много рефакторинга с течение на времето. Очевидно е, че непрекъснатото усъвършенстване е от съществено значение, ако ще получим добра възвръщаемост на инвестициите от автоматизацията на тестовете.

Когато създаваме рамка за тестова автоматизация, трябва да вземем предвид следните основни моменти:

  • За да можете бързо да създавате автоматизирани тестове, като използвате подходящи слоеве за абстракция
  • Рамката трябва да има значима структура на регистриране и докладване
  • Трябва да бъде лесно поддържаема и разширяема
  • Трябва да е достатъчно просто, за да могат тестерите да пишат автоматизирани тестове
  • Механизъм за повторен опит за повторно изпълнение на неуспешни тестове - това е особено полезно за потребителски тестове на WebDriver

В този урок ще използвам:

  • Java като език за програмиране
  • ТестNG като рамка за твърдение
  • Мейвън като инструмент за изграждане
  • WebDriver като инструмент за автоматизация на браузъра
  • IntelliJ като IDE

Този урок за автоматизация на тестовата рамка е разделен на две части:


Част 1: Създаване на базовия проект и модули и зависимостите

Част 2: Добавяне на кода

В част 1 от този урок предполагам, че вече имате инсталирани Java и Maven на вашата машина.

Стъпки за създаване на рамка за тестова автоматизация от нулата


Стъпка # 1 - Създайте нов проект Maven

Отворете IntelliJ IDE и изберете New Project от менюто. След това ви се показва екран, за да изберете типа на проекта, който ви интересува.

Стъпка 2 - Дайте име на проекта си


Изберете Maven като тип проект. Предоставете име за GroupId и ArtifatId - реших да кръстя тази рамка за тестова автоматизация, Rima.

Стъпка # 3 - Изберете местоположението на вашия проект

Сега изберете име за вашия проект и изберете директория за вашето работно пространство


Стъпка # 4 - Създаден е базовият проект

Вече имате създаден основен проект. Можем да започнем да създаваме maven модули в този проект, за да организираме структурата на нашата рамка за автоматизация на тестовете.

И така изглежда нашият pom.xml

Тъй като това ще бъде основният ни проект с родителския pom.xml, няма да имаме код в този проект. Вместо това ще създадем модули maven за различни части на Test Automation Framework. Продължете и изтрийте src папка.

Стъпка # 5 - Създайте различни модули

Сега сме в състояние да създадем различни maven модули за нашата рамка. Ще създадем следните модули:

rima-framework - този модул съдържа всички свързани класове и методи за улесняване на създаването на автоматизирани тестове.

rima-домейн - този модул съдържа класове за специфичен за домейна език (DSL).

rima-page-обекти - както подсказва името, този модул съдържа обектите на страницата.

rima-регресионни тестове - и накрая нашите автоматизирани тестове за регресия.

Ще започнем със създаването на rima-framework модул. За да направите това, изберете Файл> Ново> Модул

Изберете модул Maven и щракнете върху Напред

В следващия екран можете да дадете артефакта на модула, който създавате, в този случай, rima-framework

Забележете родителския модул и groupId като Rima и щракнете върху Next, където можем да дадем името на модула и щракнете върху Finish.

Веднъж rima-framework модул е ​​създаден, той трябва да изглежда така

След това можем да продължим да създаваме останалите модули по същия начин. След като създадем всички модули, нашият проект трябва да изглежда по-долу

И накрая, всички модули са добавени към root pom.xml

Добавете зависимости

След това трябва да добавим зависимостите между модулите в рамката, както и да добавим библиотеките и други проекти на maven, от които зависи нашата рамка за автоматизация на тестовете.

Добавих зависимостите във файловете pom.xml. Можете да разгледате файловете pom.xml в моето репо GitHub:

https://github.com/AmirGhahrai/Rima

В част 2 от този урок ще преминем през действителния код на Test Automation Framework, написан на Java, WebDriver и TestNG.

И ето връзката към Част 2 от този урок:

Рамка на обектния модел на страници с Java и WebDriver

Допълнителна информация: