SpecFlow和用户界面测试
我最近开始从事一个项目,我想尝试行为驱动的开发。我选择SpecFlow作为我的测试框架,因为它是一个C#应用程序。从我在网上读到的关于这个主题的内容来看,BDD优于TDD的一个优点是BDD可以用来测试用户界面。但是,我在使用SpecFlow执行此操作时遇到一些问题。在我的第一次测试中,我想编写以下功能: 用户单击一个按钮,该按钮显示FolderBrowseDialog,选择文件夹后,应用程序将在文件夹中搜索与应用程序相关的文件,并将这些文件加载到应用程序中 下面的场景或多或少是我想写的:SpecFlow和用户界面测试,specflow,Specflow,我最近开始从事一个项目,我想尝试行为驱动的开发。我选择SpecFlow作为我的测试框架,因为它是一个C#应用程序。从我在网上读到的关于这个主题的内容来看,BDD优于TDD的一个优点是BDD可以用来测试用户界面。但是,我在使用SpecFlow执行此操作时遇到一些问题。在我的第一次测试中,我想编写以下功能: 用户单击一个按钮,该按钮显示FolderBrowseDialog,选择文件夹后,应用程序将在文件夹中搜索与应用程序相关的文件,并将这些文件加载到应用程序中 下面的场景或多或少是我想写的: Sc
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框架,允许您使用编写测试(SpecFlow是Gerkin的.Net实现),并将为您执行测试。但是,您必须实现执行每个步骤所需操作的代码 您需要使用web UI测试框架来自动化specflow场景中的UI步骤。这类场景的例子有,等等 编辑 很抱歉误读了这个问题,您没有进行web UI自动化,只是进行UI自动化,因此我假设您需要一个桌面UI框架(不清楚您运行的是什么环境,但我假设是windows)。我知道的一点是,尽管您也可以使用。但同样的原则也适用 一旦您选择了一个框架,那么您需要将相关的操作插入到每个specfloe步骤中,以便在每个步骤中执行所选择的操作 不过不要拖延,SpecFlow是一个优秀的框架,从长远来看,您不会后悔使用BDD方法