网上有很多关于如何使用 SpecFlow、如何配置 TFS 运行测试的文章,但没有一篇包含所有方面。 在本文中,我将告诉您如何让每个人都可以方便地启动和编辑 SpecFlow 脚本。
在切口下方,您将了解如何获得:
史前
我们面临着使用 BDD 方法自动化应用程序测试的任务。 由于我们公司的任务跟踪系统的基础是TFS,所以我脑子里有这样一个画面:SpecFlow脚本的步骤就是TFS中测试用例的步骤,测试是从测试计划启动的。 下面是我的实现方法。
我们需要的:
- 在 SpecFlow 上进行测试的项目
- Azure DevOps 服务器(又名 Team Foundation 服务器)
- 用于将 SpecFlow 脚本与 TFS 中的测试用例同步的工具
调整
1. 创建带有测试的项目构建
这里一切都很简单,组装和发布工件。 稍后将详细介绍第三个任务。
2. 创建版本来运行测试
使用一项任务创建版本 - Visual Studio Test
在这种情况下,任务配置为从测试计划手动运行测试
3.测试用例的同步
我们知道 Visual Studio 允许您将测试方法链接到 TFS 中的测试用例并从测试计划运行它们。 为了不手动执行此操作,也为了同步脚本的内容,我编写了一个简单的控制台应用程序
如何使用功能同步
将命名空间和区域设置添加到功能文件头:
#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.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
在我们的例子中,启动是在通过测试构建项目之后进行的:
同步结果
SpecFlow 脚本步骤已同步并已设置自动化状态
4. 制定测试计划
我们创建一个测试计划,向其中添加自动化案例,在设置中选择构建和发布
5. 运行测试
在测试计划中选择所需的测试并运行它。
结论
该配置的优点:
- 任何测试人员都可以在版本控制Web表单中打开fetaure文件,对其进行编辑,更改将在构建后立即生效
- 您可以随时单独运行测试
- 透明的测试模型 - 我们始终知道我们启动的测试的作用。
来源: habr.com