Дар Интернет мақолаҳои зиёде мавҷуданд, ки чӣ гуна истифода бурдани SpecFlow, чӣ гуна танзим кардани TFS-ро барои санҷишҳо иҷро кардан мумкин аст, аммо мақолае мавҷуд нест, ки тамоми ҷанбаҳоро дар бар мегирад. Дар ин мақола, ман ба шумо мегӯям, ки чӣ тавр шумо метавонед оғоз ва таҳрир кардани скриптҳои SpecFlow-ро барои ҳама қулай кунед.
Дар зер шумо мефаҳмед, ки чӣ тавр ба даст овардани:
- Санҷишҳо аз TFS иҷро мешаванд
- Пайвасткунии автоматии скриптҳо ба ҳолатҳои санҷишӣ дар TFS
- Ҳамеша мундариҷаи ҳолатҳои санҷишӣ дар TFS
- Имконияти таҳрир кардани скриптҳо бевосита дар системаи идоракунии версия аз ҷониби озмоишгарон
prehistory
Мо бо вазифаи автоматикунонии санҷиши барномаҳо бо истифода аз равиши BDD дучор омадем. Азбаски асоси системаи пайгирии вазифаҳо дар ширкати мо TFS аст, ман дар сарам тасвире доштам, ки дар он қадамҳои скрипти SpecFlow қадамҳои ҳолатҳои санҷишӣ дар TFS мебошанд ва санҷишҳо аз нақшаҳои санҷишӣ оғоз карда мешаванд. Дар зер чӣ гуна ман онро амалӣ кардам.
Он чизе ки ба мо лозим аст:
- Лоиҳа бо санҷишҳо дар SpecFlow
- Azure DevOps Server (сервери Team Foundation)
- Восита барои ҳамоҳангсозии скриптҳои SpecFlow бо ҳолатҳои санҷишӣ дар TFS
танзим
1. Сохтани лоиҳа бо санҷишҳо
Дар ин ҷо ҳама чиз оддӣ аст, ҷамъоварӣ ва нашри артефактҳо. Дар бораи вазифаи сеюм баъдтар муфассалтар.
2. Эҷоди релиз барои иҷрои санҷишҳо
Эҷоди релиз бо як вазифа - Visual Studio Test
Дар ин ҳолат, вазифа танзим карда мешавад, ки санҷишҳоро аз нақшаи санҷиш дастӣ иҷро кунад
3. Синхронизатсияи ҳолатҳои санҷишӣ
Мо медонем, ки Visual Studio ба шумо имкон медиҳад, ки усулҳои санҷиширо барои санҷиши ҳолатҳо дар TFS пайваст кунед ва онҳоро аз нақшаҳои санҷиш иҷро кунед. Барои он ки ин корро дастӣ иҷро накунам ва инчунин бо мақсади ҳамоҳангсозии мундариҷаи скриптҳо, ман як барномаи оддии консол навиштам
Чӣ тавр истифода бурдани FeatureSync
Фазои ном ва забонро ба сарлавҳаи файли хусусият илова кунед:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*фазои ном бояд ба номи файли .dll, ки усулҳои санҷишро дар бар мегирад, мувофиқат кунад
Мо дар TFS ҳолатҳои санҷишии холӣ эҷод мекунем ва тегҳоро бо ID-и онҳо ба скриптҳо илова мекунем:
@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
Дар ҳолати мо, оғоз пас аз сохтани лоиҳа бо санҷишҳо сурат мегирад:
Натиҷаи синхронизатсия
Қадамҳои скрипти SpecFlow ҳамоҳанг карда мешаванд ва ҳолати автоматизатсия муқаррар карда мешавад
4. Ташкили нақшаи санҷиш
Мо нақшаи санҷиш эҷод мекунем, парвандаҳои автоматии худро ба он илова мекунем, дар танзимот сохтан ва бароварданро интихоб мекунем
5. Санҷишҳои иҷрошаванда
Дар нақшаи санҷиш санҷиши лозимиро интихоб кунед ва онро иҷро кунед.
хулоса
Афзалиятҳои ин конфигуратсия:
- Ҳар як озмоишкунанда метавонад файли fetaure-ро дар шакли веби назорати версия кушояд, онро таҳрир кунад ва тағиротҳо фавран пас аз сохтан эътибор пайдо мекунанд
- шумо метавонед санҷишҳоро дар вақти дилхоҳ иҷро кунед
- модели шаффофи санҷиш - мо ҳамеша медонем, ки озмоише, ки мо оғоз кардем, чӣ кор мекунад.
Манбаъ: will.com