specflow - SpecFlow和用户界面测试

  显示原文与译文双语对照的内容

我最近开始从事一个项目,我想尝试一下行为驱动开发。 我选择SpecFlow作为测试框架,因为它是 C# 应用程序。 从网络上收集到的这个主题来看,das在TDD上的一个优点就是用于测试用户界面。 但是,我在使用SpecFlow做这个工作时遇到了一些问题。 对于我的第一个测试,我想编写以下功能:

当用户选择与应用程序相关的文件后,用户就会单击一个按钮,并将相关的文件加载到应用程序中,然后将这些文件加载到应用程序。

下面的场景或多或少是我想要写的:


 Scenario: Add Model
 Given I am on the main screen
 When I click Add Model
 And select a folder
 And the folder contains a model
 Then the model is loaded into the application

我需要什么代码才能让SpecFlow点击FolderBrowseDialog上的内容来完成这个测试?

时间:

Specflow无法自动实现你的UI 。 SpecFlow是一个BDD框架,允许你使用 Gherkin语法 ( SpecFlow是Gerkin的.NET 实现) 编写测试,并将为你执行这些测试。 但是,你必须实现执行每个步骤所需操作的代码。

你需要使用一个 web UI测试框架来自动化specflow场景中的UI步骤。 此类场景的示例是 seleniumWatIn等

编辑

抱歉错误地误解了这个问题,你不是在做 web UI自动化,只是需要一个桌面UI框架。 我知道的是白名单,虽然你也可以使用测试框架代码 coded UI 。 同样的主体也适用。

选择框架之后,需要将相关操作插入每个specfloe步骤,以便在每个步骤中执行所选操作。

不要放弃,SpecFlow是一个非常优秀的框架,并且你不会在长期运行时遗憾下去。

抱歉,UI自动化和 Web UI自动化的区别是什么? 我在其他地方简短地查找了答案。

...