มีบทความมากมายบนอินเทอร์เน็ตเกี่ยวกับวิธีใช้ 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 และเรียกใช้จากแผนการทดสอบ เพื่อไม่ให้ทำสิ่งนี้ด้วยตนเองและเพื่อซิงโครไนซ์เนื้อหาของสคริปต์ฉันจึงเขียนแอปพลิเคชันคอนโซลอย่างง่าย
วิธีใช้ฟีเจอร์ซิงค์
เพิ่มเนมสเปซและโลแคลไปที่ส่วนหัวของไฟล์ฟีเจอร์:
#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.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
ในกรณีของเรา การเปิดตัวเกิดขึ้นหลังจากสร้างโปรเจ็กต์ด้วยการทดสอบ:
ผลการซิงโครไนซ์
ขั้นตอนสคริปต์ SpecFlow ได้รับการซิงโครไนซ์และมีการตั้งค่าสถานะการทำงานอัตโนมัติ
4. จัดทำแผนการทดสอบ
เราสร้างแผนการทดสอบ เพิ่มกรณีอัตโนมัติของเราลงไป เลือกสร้างและเผยแพร่ในการตั้งค่า
5. ทำการทดสอบ
เลือกการทดสอบที่ต้องการในแผนการทดสอบและดำเนินการ
ข้อสรุป
ข้อดีของการกำหนดค่านี้:
- ผู้ทดสอบทุกคนสามารถเปิดไฟล์ fetaure ในเว็บฟอร์มควบคุมเวอร์ชัน แก้ไขได้ และการเปลี่ยนแปลงจะมีผลทันทีหลังจากบิลด์
- คุณสามารถทำการทดสอบทีละรายการได้ตลอดเวลา
- รูปแบบการทดสอบที่โปร่งใส - เรารู้อยู่เสมอว่าการทดสอบที่เราเปิดตัวนั้นทำอะไร
ที่มา: will.com