我有一个Selenium Nunit脚本,它被设置为在构建部署到VSTS时运行。
我无法找到如何根据已部署代码的环境将环境的URL传递给selenium脚本的方法。
例:
当Code部署到QA env时,selenium脚本应该选择QA url并运行测试。
类似地,当代码部署到UAT env时,脚本内的url应设置为UAT特定url并运行测试。
我如何实现这一目标?
在此先感谢您的时间和帮助。
尝试在设置文件中指定参数,然后通过在Visual Studio测试任务的“覆盖测试运行参数”框中指定来覆盖该值。
How do I pass parameters to my test code from a build or release pipeline?
另一方面,您可以在发布定义中定义具有相同名称和不同范围(环境)的多个变量,然后只需从代码中的环境变量中读取该变量的值。
这取决于你如何踢它。您可以通过--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属性返回表示这些传入参数的对象。