如何在selenium脚本中设置URL,该脚本设置为在CI / CD期间基于环境运行Selenium Tests(C#)

问题描述 投票:-1回答:2

我有一个Selenium Nunit脚本,它被设置为在构建部署到VSTS时运行。

我无法找到如何根据已部署代码的环境将环境的URL传递给selenium脚本的方法。

例:

当Code部署到QA env时,selenium脚本应该选择QA url并运行测试。

类似地,当代码部署到UAT env时,脚本内的url应设置为UAT特定url并运行测试。

我如何实现这一目标?

在此先感谢您的时间和帮助。

c# selenium-webdriver azure-devops nunit devops
2个回答
0
投票

尝试在设置文件中指定参数,然后通过在Visual Studio测试任务的“覆盖测试运行参数”框中指定来覆盖该值。

How do I pass parameters to my test code from a build or release pipeline?

另一方面,您可以在发布定义中定义具有相同名称和不同范围(环境)的多个变量,然后只需从代码中的环境变量中读取该变量的值。


0
投票

这取决于你如何踢它。您可以通过--params将自定义参数传递给NUnit,然后使用TestContext在代码中提取这些参数。我建议您只传递环境,QA或UAT,而不是传递整个URL。然后在您的代码中,您可以根据传递的环境做出决策,设置URL等变量。

https://github.com/nunit/docs/wiki/Console-Command-Line#options

--params | P = PARAMETER 以NAME = VALUE形式指定的测试PARAMETER,供测试使用。可以指定多个参数,以分号分隔或多次重复--params选项。区分大小写。

https://github.com/nunit/docs/wiki/TestContext#testparameters

可以以各种方式将测试参数提供给运行,这取决于所使用的流道。例如,控制台运行器提供命令行参数,NUnit 3 VS适配器的v3.4将支持在.runsettings文件中指定它们。静态TestParameters属性返回表示这些传入参数的对象。

© www.soinside.com 2019 - 2024. All rights reserved.