Чаҳорчӯби автоматизатсияи санҷиширо аз сифр чӣ гуна бояд таҳия кард?

Дар ин дастури зина ба зина, ман тавзеҳ медиҳам, ки чӣ гуна аз чаҳорчӯбаи Java, Selenium, TestNG ва Maven таҳияи чаҳорчӯби модулизатсияи санҷиши автоматикунонӣ аз сифр таҳия карда шавад.

Дар оғоз, биёед бубинем, ки Чаҳорчӯби Автоматикунонии Тест чӣ гуна аст ва эҷоди он чӣ манфиат дорад.



Чаҳорчӯби санҷиши автоматикунонӣ

Мақсади Чорчӯби Автоматикунонии Тест чӣ гуна аст? Он барои дастаи рушд кадом мушкилотро ҳал мекунад?


Ҳангоми рушди зуд, шумо шояд барои саривақт автоматӣ кардани хусусиятҳои нави худ вақти кофӣ надоред, бинобар ин шумо метавонед скриптҳои автоматикунонидашуда эҷод карда, дар бисёр ҷойҳо рамзи зиёдеро такрор кунед.

Рамзи таҷдиди назар як ҷузъи ҷудонашавандаи таҳияи нармафзор барои пешгирӣ аз афзоиши қарзи бузурги технологӣ мебошад. Ин ба автоматизатсияи санҷишҳо низ дахл дорад; бо таҷдиди скриптҳои автоматикунонидашуда, шумо хонданӣ ва нигоҳдориро дар муддати тӯлонӣ беҳтар хоҳед кард.


Дар ин дастури омӯзиши автоматикунонии санҷишӣ, маҳсулоти ниҳоӣ натиҷаи бисёр таҷдиди замонҳо мебошад. Аён аст, ки такмили доимӣ муҳим аст, агар мо аз сармоягузории автоматизатсияи тестӣ фоидаи хуб гирем.

Ҳангоми сохтани Чаҳорчӯби Автоматикунонии Тест, мо бояд нуқтаҳои асосии зеринро ба назар гирем:

  • Бо истифода аз қабатҳои абстраксияи мувофиқ зуд тестҳои автоматикунонидашударо сохтан
  • Чорчӯба бояд сохтори пурраи пурнависӣ ва ҳисоботӣ дошта бошад
  • Бояд ба осонӣ нигоҳдоранда ва васеъшаванда бошад
  • Бояд оддӣ бошад, ки барои озмоишкунандагон тестҳои автоматӣ нависанд
  • Механизми такрорӣ барои такрори санҷишҳои номуваффақ - ин махсусан барои санҷишҳои UI WebDriver муфид аст

Дар ин дастур, ман бо истифода аз:

  • Java ҳамчун забони барномасозӣ
  • TestNG ҳамчун чаҳорчӯбаи тасдиқ
  • Мавен ҳамчун воситаи сохтан
  • WebDriver ҳамчун воситаи автоматизатсияи браузер
  • IntelliJ ҳамчун IDE

Ин дастури Test Test Automation Framework ба ду қисм тақсим карда шудааст:


Қисми 1: Сохтани лоиҳаи асосӣ ва модулҳо ва вобастагиҳо

Қисми 2: Илова кардани рамз

Дар қисми 1 ин дастур ман гумон мекунам, ки шумо аллакай дар дастгоҳи худ Java ва Maven насб кардаед.

Қадамҳои сохтани чаҳорчӯби автоматизатсияи санҷишӣ аз сифр


Қадами # 1 - Лоиҳаи нави maven созед

IntelliJ IDE ро кушоед ва аз меню Лоиҳаи навро интихоб кунед. Пас аз он ба шумо экране пешниҳод карда мешавад, ки намуди лоиҳаеро, ки ба шумо таваҷҷӯҳ дорад, интихоб кунед.

Қадами # 2 - Ба лоиҳаи худ ном гузоред


Maven -ро ҳамчун намуди лоиҳа интихоб кунед. Барои GroupId ва ArtifatId ном гузоред - Ман қарор додам, ки ин чаҳорчӯби санҷиши автоматикунониро Рима номгузорӣ кунам.

Қадами # 3 - Ҷойгиршавии лоиҳаи худро интихоб кунед

Акнун, барои лоиҳаи худ ном интихоб кунед ва барои фазои кории худ директория интихоб кунед


Қадами # 4 - Лоиҳаи пойгоҳ сохта шудааст

Ҳоло шумо як лоиҳаи пойгоҳе сохтаед. Мо метавонем ба ташкили модулҳои maven дар ин лоиҳа барои ташкили сохтори автоматизатсияи чаҳорчӯбаи худ шурӯъ кунем.

Ва чунин аст pom.xml-и мо

Азбаски ин лоиҳаи пойгоҳи мо бо волидайн pom.xml хоҳад буд, мо дар ин лоиҳа ягон рамз надорем. Ба ҷои ин, мо модулҳои maven барои қисматҳои гуногуни Автоматикунонии Чаҳорчӯби эҷод мекунем. Ба пеш ва тоза кунед src ҷузвдон.

Қадами # 5 - Эҷоди модулҳои гуногун

Ҳоло мо қарор дорем, ки барои чаҳорчӯбаи худ модулҳои гуногуни maven созем. Мо модулҳои зеринро эҷод мекунем:

рима-чорчӯба - ин модул ҳамаи дарсҳо ва усулҳои ба ҳам алоқамандро барои осон кардани ташкили тестҳои автоматӣ дар бар мегирад.

рима-домен - ин модул дорои синфҳои махсуси забони домейн (DSL) мебошад.

объектҳои рима-саҳифа - тавре ки аз номаш бармеояд, ин модул дорои объектҳои саҳифа мебошад.

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

Мо аз эҷоди рима-чорчӯба модул. Барои ин, -ро интихоб кунед Файл> Нав> Модул

Модули Maven ро интихоб кунед ва Next ро пахш кунед

Дар экрани оянда, шумо метавонед artifactId-и модули сохташударо диҳед, дар ин ҳолат, рима-чорчӯба

Ба модули волидайн ва groupId ҳамчун Rima аҳамият диҳед ва тугмаи Nextро пахш кунед, ки дар он мо метавонем номи модулро дода, Finish ро пахш намоем.

Як бор рима-чорчӯба модул сохта шудааст, он бояд ба ин монанд бошад

Пас мо метавонем эҷоди боқимондаи модулҳоро бо ҳамон шакл идома диҳем. Пас аз он ки мо ҳамаи модулҳоро эҷод кардем, лоиҳаи мо бояд ба зер монанд бошад

Ва дар ниҳоят, ҳамаи модулҳо ба решаи pom.xml илова карда шуданд

Вобастагӣ илова кунед

Сипас, мо бояд вобастагиҳои байни модулҳоро дар чаҳорчӯба илова намоем, инчунин китобхонаҳо ва дигар лоиҳаҳои мафтунро, ки Чаҳорчӯби Test Automation-и мо ба онҳо вобаста аст, илова кунем.

Ман вобастагиҳоро дар файлҳои pom.xml илова кардам. Шумо метавонед ба файлҳои pom.xml дар репои GitHub назар андозед:

https://github.com/AmirGhahrai/Rima

Дар қисми 2-юми ин дастур, мо аз рамзи аслии Test Automation Framework, ки дар Java, WebDriver ва TestNG навишта шудаанд, гузарем.

Ва ин аст истинод ба қисми 2 ин дастур:

Чаҳорчӯби намунаи объекти саҳифа бо Java ва WebDriver

Хониши иловагӣ: