Як распрацаваць рамку аўтаматызацыі тэстаў з нуля?

У гэтым пакрокавым кіраўніцтве я распавяду, як з нуля распрацаваць модулізаваную структуру аўтаматызацыі тэстаў, выкарыстоўваючы Java, Selenium, TestNG і Maven.

Для пачатку давайце паглядзім, што такое Framework Automation Test і якія перавагі яе стварэння.



Структура аўтаматызацыі тэстаў

Якая мэта рамкі аўтаматызацыі выпрабаванняў? Якія праблемы ён вырашае для каманды распрацоўшчыкаў?


У гнуткай распрацоўцы ў вас можа не хапіць часу, каб своечасова аўтаматызаваць новыя функцыі, таму вы можаце ствараць аўтаматызаваныя сцэнарыі, дублюючы шмат кода ў многіх месцах.

Код рэфактарынгу - гэта неад'емная частка распрацоўкі праграмнага забеспячэння, каб пазбегнуць нарошчвання велізарнай тэхнічнай запазычанасці. Гэта датычыцца і аўтаматызацыі выпрабаванняў; перарабіўшы аўтаматызаваныя сцэнарыі, вы палепшыце чытальнасць і тэхнічнае абслугоўванне ў доўгатэрміновай перспектыве.


У гэтым кіраўніцтве Framework Automation Test канчатковы прадукт з'яўляецца вынікам шматлікіх пераўтварэнняў з цягам часу. Відавочна, што пастаяннае ўдасканаленне вельмі важна, калі мы хочам атрымаць добрую аддачу ад укладзеных сродкаў ад аўтаматызацыі выпрабаванняў.



Ствараючы Framework Test Automation, мы павінны ўлічваць наступныя асноўныя моманты:

  • Каб мець магчымасць хутка ствараць аўтаматызаваныя тэсты, выкарыстоўваючы адпаведныя пласты абстракцыі
  • Структура павінна мець значную структуру рэгістрацыі і справаздачнасці
  • Павінна быць лёгка абслугоўваць і пашырацца
  • Павінна быць дастаткова проста для тэстараў, каб яны маглі пісаць аўтаматызаваныя тэсты
  • Механізм паўторнай паўторнай няўдалай праверкі - гэта асабліва карысна для тэстаў карыстацкага інтэрфейсу WebDriver

У гэтым уроку я буду выкарыстоўваць:

  • Java у якасці мовы праграмавання
  • TestNG як аснова сцвярджэння
  • Мэйвэн як інструмент зборкі
  • WebDriver як інструмент аўтаматызацыі браўзэра
  • IntelliJ як IDE

Гэты падручнік па аўтаматызацыі тэстаў падзелены на дзве часткі:


Частка 1: Стварэнне базавага праекта і модуляў і залежнасцей

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

У частцы 1 гэтага падручніка я мяркую, што ў вас ужо ўсталяваны Java і Maven на вашай машыне.

Крокі па стварэнні тэставай сістэмы аўтаматызацыі з нуля


Крок 1 - Стварыце новы праект Maven

Адкрыйце IntelliJ IDE і ў меню абярыце New Project. Пасля гэтага вам прапануецца экран для выбару тыпу праекта, які вас цікавіць.

Крок 2 - Дайце вашаму праекту назву


Выберыце Maven у якасці тыпу праекта. Укажыце імя GroupId і ArtifatId - я вырашыў назваць гэты механізм аўтаматызацыі тэстаў, Рыма.

Крок No3 - Выберыце месца вашага праекта

Цяпер абярыце імя для вашага праекта і абярыце каталог для вашай працоўнай вобласці


Крок No4 - Створаны базавы праект

Цяпер у вас створаны базавы праект. Мы можам пачаць ствараць модулі maven у гэтым праекце для арганізацыі структуры нашай сістэмы аўтаматызацыі выпрабаванняў.

І вось так выглядае наш pom.xml

Паколькі гэта будзе наш базавы праект з бацькоўскім pom.xml, у нас не будзе кода ў гэтым праекце. Замест гэтага мы створым модулі maven для розных частак Framework Automation Test. Ідзіце наперад і выдаліце src тэчку.

Крок 5 - Стварыце розныя модулі

Цяпер мы можам стварыць розныя модулі maven для нашай структуры. Мы створым наступныя модулі:

рыма-рамка - гэты модуль змяшчае ўсе звязаныя з гэтым класы і метады для палягчэння стварэння аўтаматызаваных тэстаў.

рыма-дамен - гэты модуль утрымлівае класы для даменнай мовы (DSL).

rima-page-аб'екты - як вынікае з назвы, гэты модуль утрымлівае аб'екты старонкі.

тэсты рэма-рэгрэсіі - і, нарэшце, нашы аўтаматызаваныя тэсты рэгрэсіі.

Мы пачнем са стварэння рыма-рамка модуль. Для гэтага абярыце Файл> Новы> Модуль

Абярыце модуль Maven і націсніце 'Далей'

На наступным экране вы можаце даць артэфакт ідэнтыфікуемага модуля, у гэтым выпадку, рыма-рамка

Звярніце ўвагу на бацькоўскі модуль і groupId як Rima і націсніце 'Далей', дзе мы можам даць імя модуля, і націсніце 'Гатова'.

Аднойчы рыма-рамка модуль створаны, ён павінен выглядаць прыблізна так

Затым мы можам працягваць стварэнне астатніх модуляў такім жа чынам. Пасля стварэння ўсіх модуляў наш праект павінен выглядаць ніжэй

І, нарэшце, усе модулі былі дададзены ў корань pom.xml

Дадаць залежнасці

Далей нам трэба дадаць залежнасці паміж модулямі ў фрэймворку, а таксама дадаць бібліятэкі і іншыя праекты maven, ад якіх залежыць наша рамка аўтаматызацыі тэстаў.

Я дадаў залежнасці ў файлы pom.xml. Вы можаце паглядзець на файлы pom.xml у маім рэпазітары GitHub:

https://github.com/AmirGhahrai/Rima

У частцы 2 гэтага падручніка мы разгледзім сапраўдны код Framework Automation Test, напісаны на Java, WebDriver і TestNG.

І вось спасылка на частку 2 гэтага падручніка:

Page Framework Model Framework з Java і WebDriver

Далейшае чытанне:

Цікавыя Артыкулы