BDD қулай: SpecFlow+TFS

Дар Интернет мақолаҳои зиёде мавҷуданд, ки чӣ гуна истифода бурдани SpecFlow, чӣ гуна танзим кардани TFS-ро барои санҷишҳо иҷро кардан мумкин аст, аммо мақолае мавҷуд нест, ки тамоми ҷанбаҳоро дар бар мегирад. Дар ин мақола, ман ба шумо мегӯям, ки чӣ тавр шумо метавонед оғоз ва таҳрир кардани скриптҳои SpecFlow-ро барои ҳама қулай кунед.

Дар зер шумо мефаҳмед, ки чӣ тавр ба даст овардани:

  • Санҷишҳо аз TFS иҷро мешаванд
  • Пайвасткунии автоматии скриптҳо ба ҳолатҳои санҷишӣ дар TFS
  • Ҳамеша мундариҷаи ҳолатҳои санҷишӣ дар TFS
  • Имконияти таҳрир кардани скриптҳо бевосита дар системаи идоракунии версия аз ҷониби озмоишгарон
    BDD қулай: SpecFlow+TFS

prehistory

Мо бо вазифаи автоматикунонии санҷиши барномаҳо бо истифода аз равиши BDD дучор омадем. Азбаски асоси системаи пайгирии вазифаҳо дар ширкати мо TFS аст, ман дар сарам тасвире доштам, ки дар он қадамҳои скрипти SpecFlow қадамҳои ҳолатҳои санҷишӣ дар TFS мебошанд ва санҷишҳо аз нақшаҳои санҷишӣ оғоз карда мешаванд. Дар зер чӣ гуна ман онро амалӣ кардам.

Он чизе ки ба мо лозим аст:

  1. Лоиҳа бо санҷишҳо дар SpecFlow
  2. Azure DevOps Server (сервери Team Foundation)
  3. Восита барои ҳамоҳангсозии скриптҳои SpecFlow бо ҳолатҳои санҷишӣ дар TFS

танзим

1. Сохтани лоиҳа бо санҷишҳо

Дар ин ҷо ҳама чиз оддӣ аст, ҷамъоварӣ ва нашри артефактҳо. Дар бораи вазифаи сеюм баъдтар муфассалтар.

BDD қулай: SpecFlow+TFS

2. Эҷоди релиз барои иҷрои санҷишҳо

Эҷоди релиз бо як вазифа - Visual Studio Test

BDD қулай: SpecFlow+TFS

Дар ин ҳолат, вазифа танзим карда мешавад, ки санҷишҳоро аз нақшаи санҷиш дастӣ иҷро кунад

BDD қулай: SpecFlow+TFS

3. Синхронизатсияи ҳолатҳои санҷишӣ

Мо медонем, ки Visual Studio ба шумо имкон медиҳад, ки усулҳои санҷиширо барои санҷиши ҳолатҳо дар TFS пайваст кунед ва онҳоро аз нақшаҳои санҷиш иҷро кунед. Барои он ки ин корро дастӣ иҷро накунам ва инчунин бо мақсади ҳамоҳангсозии мундариҷаи скриптҳо, ман як барномаи оддии консол навиштам FeatureSync. Принсип оддӣ аст - мо файли хусусиятро таҳлил мекунем ва ҳолатҳои санҷиширо бо истифода аз API TFS навсозӣ мекунем.

Чӣ тавр истифода бурдани FeatureSync

Фазои ном ва забонро ба сарлавҳаи файли хусусият илова кунед:

#language:en
@Namespace:Application.Autotests
Feature: Log to application

*фазои ном бояд ба номи файли .dll, ки усулҳои санҷишро дар бар мегирад, мувофиқат кунад

Мо дар TFS ҳолатҳои санҷишии холӣ эҷод мекунем ва тегҳоро бо ID-и онҳо ба скриптҳо илова мекунем:

BDD қулай: SpecFlow+TFS

@2124573 @posistive
Scenario: Successful authorization
    Given I on authorization page
    And I enter:
        | Login | Password |
        | user  | pass     |
    When I press Login button
    Then Browser redirect on Home page

FeatureSync-ро оғоз кунед:

FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba

Дар ҳолати мо, оғоз пас аз сохтани лоиҳа бо санҷишҳо сурат мегирад:

BDD қулай: SpecFlow+TFS

Натиҷаи синхронизатсия

Қадамҳои скрипти SpecFlow ҳамоҳанг карда мешаванд ва ҳолати автоматизатсия муқаррар карда мешавад

BDD қулай: SpecFlow+TFS

BDD қулай: SpecFlow+TFS

4. Ташкили нақшаи санҷиш

Мо нақшаи санҷиш эҷод мекунем, парвандаҳои автоматии худро ба он илова мекунем, дар танзимот сохтан ва бароварданро интихоб мекунем

BDD қулай: SpecFlow+TFS

BDD қулай: SpecFlow+TFS

5. Санҷишҳои иҷрошаванда

Дар нақшаи санҷиш санҷиши лозимиро интихоб кунед ва онро иҷро кунед.

BDD қулай: SpecFlow+TFS

хулоса

Афзалиятҳои ин конфигуратсия:

  • Ҳар як озмоишкунанда метавонад файли fetaure-ро дар шакли веби назорати версия кушояд, онро таҳрир кунад ва тағиротҳо фавран пас аз сохтан эътибор пайдо мекунанд
  • шумо метавонед санҷишҳоро дар вақти дилхоҳ иҷро кунед
  • модели шаффофи санҷиш - мо ҳамеша медонем, ки озмоише, ки мо оғоз кардем, чӣ кор мекунад.

Манбаъ: will.com

Илова Эзоҳ