Има много статии в интернет за това как да използвате SpecFlow, как да конфигурирате TFS за изпълнение на тестове, но няма нито една, която да съдържа всички аспекти. В тази статия ще ви кажа как можете да направите стартирането и редактирането на скриптове SpecFlow удобни за всички.
Под разреза ще научите как да получите:
- Изпълнение на тестове от TFS
- Автоматично свързване на скриптове към тестови случаи в TFS
- Винаги актуално съдържание на тестови случаи в TFS
- Възможност за редактиране на скриптове директно в системата за контрол на версиите от тестери
праистория
Бяхме изправени пред задачата да автоматизираме тестването на приложения, използвайки подхода BDD. Тъй като основата на системата за проследяване на задачи в нашата компания е TFS, имах картина в главата си, където стъпките на скрипта SpecFlow са стъпките на тестови случаи в TFS, а тестовете се стартират от тестови планове. По-долу е как го внедрих.
Какво ни трябва:
- Проект с тестове на SpecFlow
- Azure DevOps сървър (известен още като Team Foundation Server)
- Инструмент за синхронизиране на скриптове SpecFlow с тестови случаи в TFS
регулиране
1. Създаване на компилация на проект с тестове
Тук всичко е просто, сглобяване и публикуване на артефакти. Повече за третата задача по-късно.
2. Създаване на версия за провеждане на тестове
Създаване на издание с една задача - Visual Studio Test
В този случай задачата е конфигурирана да изпълнява тестове ръчно от тестовия план
3. Синхронизиране на тестови случаи
Знаем, че Visual Studio ви позволява да свързвате тестови методи с тестови случаи в TFS и да ги изпълнявате от тестови планове. За да не правя това ръчно, а също и за да синхронизирам съдържанието на скриптовете, написах просто конзолно приложение
Как да използвате FeatureSync
Добавете пространство от имена и локал към заглавката на файла с функции:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*именното пространство трябва да съвпада с името на .dll файла, който съдържа тестовите методи
Създаваме празни тестови случаи в 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
В нашия случай стартирането става след изграждане на проекта с тестове:
Резултат от синхронизация
Стъпките на скрипта SpecFlow се синхронизират и състоянието на автоматизацията е зададено
4. Създаване на тестов план
Създаваме тестов план, добавяме нашите автоматизирани случаи към него, избираме изграждане и освобождаване в настройките
5. Провеждане на тестове
Изберете необходимия тест в тестовия план и го стартирайте.
Заключение
Предимствата на тази конфигурация:
- всеки тестер може да отвори fetaure файла в уеб формуляра за контрол на версиите, да го редактира и промените ще влязат в сила веднага след изграждането
- можете да провеждате индивидуални тестове по всяко време
- прозрачен тестов модел - винаги знаем какво прави тестът, който стартирахме.
Източник: www.habr.com