【发布时间】:2020-12-10 21:59:12
【问题描述】:
我一直在使用 PHP Behat 进行大量工作,并且正在尝试使用 specflow 在 C# 中模拟同样的事情。我遇到的问题之一是我想对多个(50 多个)网站使用相同的测试,基本上是在命令行中推送一个参数并告诉它要去哪个网站。
在 Behat 中,我会使用 Behat.yml,设置多个配置文件,其格式类似于:
网站A: 网址:whatever.com 网站B: 网址:blabla.com
然后在命令行中指定我想要的配置文件“behat -p websiteA”,并基于此我有一个函数使用我的特定网站的 url。
我对 C# 和 specflow 的一切都很陌生,所以我想知道如何在 specflow 中获得这个解决方案。到目前为止,我设法创建了一个在命令行中使用“dotnet test”运行的基本场景。
我也在使用硒。
非常感谢!
【问题讨论】:
-
您能否edit 您的问题包括您如何从命令行运行 SpecFlow 测试?
-
你考虑过使用环境变量吗? - 编写测试代码以从环境变量中读取,然后在命令行中设置变量然后启动 dotnet 测试?例如命令行:
Set "MyVar_GoHere=WebsiteA" && dotnet test ... -
@gregBurghardt 目前我只是在命令行中使用“dotnet test”运行,如帖子中所述。\
-
@RichEdwards 我正在尝试更多的硬编码框架方法。我注意到在 C# 中有一个配置文件,而 Specflow 有某种形式的配置文件。但我不想为每个网站都创建一个文件,因为我有很多。
-
嗨,Alex,有一种方法可以使用构建配置名称作为驱动预构建配置文件的输入变量。我们用它在不同的环境中拆分我们的测试,并获得不同的变量,如帐户和密码。听起来你想回答什么? - 不用担心,如果它不适合你,我不会发布 :-)
标签: c# selenium automation specflow