0

我正在使用 SpecFlow、SpecFlow+ 和 Selenium WebDriver 为我们的应用程序构建一个测试自动化项目。已经浏览了一些教程,每个教程都有不同的观点。

那么任何人都可以告知在同一个 VS 2019 解决方案中与 SpecFlow 项目一起使用的最佳项目类型是什么以及与 Selenium 项目一起使用什么?

另外,我应该将主要项目作为 SpecFlow 并将添加的项目作为 Selenium(反之亦然)吗?

有没有人用我可以看看的 2 个项目完成了类似的解决方案?

4

2 回答 2

3

我使用 .NET Core 类库。

  • .Net Framework即将停止支持- 所以我会避免这种情况。很可能它们是旧教程。
  • 控制台项目允许您按“运行”,因为它以static void main方法作为入口点,并在您想要的地方提供漂亮的文本输出。这可能就是您在教程中看到它的原因,因为它更容易 - 但这最终会更加努力,因为您不会像程序一样运行测试。您将使用测试运行程序来启动测试。

在这里查看github 上的示例。它是 selenium nunit 和 specflow(不是 specflow+ 或多项目),但如果你需要它,它足够接近给你一个想法。如果我必须转换它,我会将相关文件夹移动到他们自己的项目中......

关于解决方案中的一个项目与多个项目,我想说这对设计并不重要。如果您是初学者,请暂时坚持使用,因为这样可以降低整体复杂性。做参考并不复杂,但它可能会在早期减慢你的速度。

如果您确实进行了多个项目-首先做什么并不重要。可能从底部开始,先做硒核心的东西。没有硒,什么都不会运行,所以一切都取决于它。稍后您更有可能更换测试/数据层。

于 2020-07-15T07:02:26.397 回答
2

如果您从 MSTest 开始,单元测试或类库模板无关紧要。它们都产生一个普通的类库程序集。这些项目模板之间的唯一区别是样式(经典或 SDK)和默认添加的 NuGet 包。

在 Guru99 的教程中,他们在教程中将项目从控制台应用程序更改为类库。

目前,我会根据您在项目中使用的项目格式来选择模板。为此,我会按照我们的“入门”指南来选择正确的模板。

关于一个或多个项目:坚持一个项目。为什么让它比需要的更复杂?


全面披露:我是社区经理,也是 SpecFlow 和 SpecFlow+ 的维护者之一

于 2020-07-15T07:31:59.133 回答