В това ръководство стъпка по стъпка ще опиша как да разработя модулирана тестова рамка за автоматизация от нулата, използвайки Java, Selenium, TestNG и Maven.
Като начало нека да видим какво представлява рамката за автоматизация на тестовете и какви са ползите от създаването й.
Каква е целта на рамка за тестова автоматизация? Какви предизвикателства решава екипът за разработка?
При пъргавата разработка може да нямате достатъчно време да автоматизирате новите си функции навреме, така че може да създавате автоматизирани скриптове, дублирайки много код на много места.
Кодът за рефакторинг е неразделна част от разработването на софтуер, за да се избегне натрупването на огромен технически дълг. Това се отнася и за автоматизацията на тестовете; чрез рефакторинг на вашите автоматизирани скриптове, вие ще подобрите четливостта и поддръжката в дългосрочен план.
В този урок на Test Automation Framework крайният продукт е резултат от много рефакторинга с течение на времето. Очевидно е, че непрекъснатото усъвършенстване е от съществено значение, ако ще получим добра възвръщаемост на инвестициите от автоматизацията на тестовете.
Когато създаваме рамка за тестова автоматизация, трябва да вземем предвид следните основни моменти:
В този урок ще използвам:
Този урок за автоматизация на тестовата рамка е разделен на две части:
Част 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
Допълнителна информация: