如何在 CI/CD 期间根据环境在设置为 运行 Selenium 测试 (C#) 的 selenium 脚本中设置 URL
How to set URL in selenium script that is set up to run Selenium Tests (C#) based on environment during CI/CD
我有一个 Selenium Nunit 脚本,只要将构建部署到 VSTS,它就会设置为 运行。
我无法根据代码部署到的环境,想出如何将环境的 URL 传递给 selenium 脚本的方法。
示例:
当代码部署到 QA 环境时,selenium 脚本应该 select QA url 和 运行 测试。
类似地,当代码部署到 UAT env 时,脚本中的 url 应该设置为特定于 UAT 的 url 和 运行 测试。
我该如何实现?
提前感谢您的宝贵时间和帮助。
这取决于你如何开始。您可以通过 --params
将自定义参数传递给 NUnit,然后使用 TestContext
在您的代码中提取这些参数。与其传递整个 URL,我建议您只传递环境、QA 或 UAT。然后在你的代码中,你可以根据传递的环境做出决定,设置变量 URL 等。
https://github.com/nunit/docs/wiki/Console-Command-Line#options
--params|p=PARAMETER
A test PARAMETER specified in the form NAME=VALUE for consumption by tests. Multiple parameters may be specified, separated by semicolons or by repeating the --params option multiple times. Case-sensitive.
https://github.com/nunit/docs/wiki/TestContext#testparameters
Test parameters may be supplied to a run in various ways, depending on the runner used. For example, the console runner provides a command-line argument and v3.4 of the NUnit 3 VS Adapter will supports specifying them in a .runsettings file. The static TestParameters property returns an object representing those passed-in parameters.
尝试在设置文件中指定参数,然后通过在 visual studio 测试任务的覆盖测试 运行 参数框中指定来覆盖该值。
How do I pass parameters to my test code from a build or release pipeline?
另一方面,您可以在发布定义中定义多个具有相同名称和不同范围(环境)的变量,然后在代码中从环境变量中读取该变量的值。
我有一个 Selenium Nunit 脚本,只要将构建部署到 VSTS,它就会设置为 运行。
我无法根据代码部署到的环境,想出如何将环境的 URL 传递给 selenium 脚本的方法。
示例:
当代码部署到 QA 环境时,selenium 脚本应该 select QA url 和 运行 测试。
类似地,当代码部署到 UAT env 时,脚本中的 url 应该设置为特定于 UAT 的 url 和 运行 测试。
我该如何实现?
提前感谢您的宝贵时间和帮助。
这取决于你如何开始。您可以通过 --params
将自定义参数传递给 NUnit,然后使用 TestContext
在您的代码中提取这些参数。与其传递整个 URL,我建议您只传递环境、QA 或 UAT。然后在你的代码中,你可以根据传递的环境做出决定,设置变量 URL 等。
https://github.com/nunit/docs/wiki/Console-Command-Line#options
--params|p=PARAMETER
A test PARAMETER specified in the form NAME=VALUE for consumption by tests. Multiple parameters may be specified, separated by semicolons or by repeating the --params option multiple times. Case-sensitive.
https://github.com/nunit/docs/wiki/TestContext#testparameters
Test parameters may be supplied to a run in various ways, depending on the runner used. For example, the console runner provides a command-line argument and v3.4 of the NUnit 3 VS Adapter will supports specifying them in a .runsettings file. The static TestParameters property returns an object representing those passed-in parameters.
尝试在设置文件中指定参数,然后通过在 visual studio 测试任务的覆盖测试 运行 参数框中指定来覆盖该值。
How do I pass parameters to my test code from a build or release pipeline?
另一方面,您可以在发布定义中定义多个具有相同名称和不同范围(环境)的变量,然后在代码中从环境变量中读取该变量的值。