无需编码的测试人员自动化测试
Automated Testing for testers with no coding required
我正在尝试改进我工作的测试流程,但没有调整结构。
我们拥有:VSTS、Selenium IDE、编写测试用例但不编写代码的测试人员。
我想做的是设法将我们的 TFS 持续集成与我们编写的 Selenium 测试结合起来。这些 不是 代码驱动的 selenium 测试,而是 IDE 版本,用户可以在其中点击,并使用 IDE 设置断言(所有只是 UI 测试)。我知道我们可以将这些测试计划导出为 .SIDE 文件,但我不知道的是如何让我们的 TFS 服务器将这些计划作为部署或构建管道的一部分执行。
理想情况下,developers/devops 将从一开始就在 TFS 中设置项目,使用任何对执行这些 Selenium .SIDE 文件有意义的解决方案,但之后,测试人员将管理 adding/modifying其他地方的那些测试用例。
这里的真正目标是不让测试人员编写代码或签入代码。仅编写这些 UI Selenium 测试,但让 TFS 作为 CI.
的一部分执行这些测试
在互联网上研究这个基本上总是让我做一些需要测试人员编写代码的事情。
我不认为它可以在没有代码的情况下进行自动化测试,至少,您需要一个包含您的自动化测试的测试项目。
通常,在 Azure DevOps 中,我们使用 Visual Studio Test task
到 运行 测试。此任务支持使用以下测试:
- 测试程序集:使用此选项指定一个或多个包含您的测试的测试程序集。您可以选择指定一个
过滤条件 select 仅特定测试。
- 测试计划:使用此选项可以 运行 从您的测试计划中测试具有关联的自动测试方法。了解更多
如何将测试与测试用例工作项相关联,请参阅 Associate
带有测试用例的自动化测试.
- 测试运行:在设置环境到run tests from test plans时使用此选项。不应在以下情况下使用此选项
运行在连续 integration/continuous 部署中测试
(CI/CD) 管道。
这也是我的一个问题,我想我找到了一个不完美但更好的解决方案。
我无法获得我的 Selenium IDE 测试 运行 Jenkins,但我能够通过 TeamCity 获得它们 运行,另一个 CI。
我创建了如下构建步骤:
- 运行用户类型:命令行
- 工作目录: selenium IDE .side 文件所在的位置
- 运行: 自定义脚本
- 用我平时用来运行我的SeleniumIDE测试的构建脚本内容,比如
selenium-side-runner sidefile.side
- 我还添加了以下内容,以便我可以在 Junitor 中以另一种形式输出结果:
--output-directory=results --output-format=junit
- 您还可以添加以下内容,以便测试 运行 无头,这仅适用于 Chrome :
-c "goog:chromeOptions.args=[--headless,--nogpu] browserName=chrome"
- 最后,我还使用
--filter
一次 运行 一个测试套件,但这也是可选的。
- 然后我使用另一个构建步骤将结果导出到我们的测试管理器 xray,但我认为这超出了这个问题的范围。
此解决方案的问题在于它 运行 仍然直接来自用户的个人计算机,但这可以解决。
我正在尝试改进我工作的测试流程,但没有调整结构。
我们拥有:VSTS、Selenium IDE、编写测试用例但不编写代码的测试人员。
我想做的是设法将我们的 TFS 持续集成与我们编写的 Selenium 测试结合起来。这些 不是 代码驱动的 selenium 测试,而是 IDE 版本,用户可以在其中点击,并使用 IDE 设置断言(所有只是 UI 测试)。我知道我们可以将这些测试计划导出为 .SIDE 文件,但我不知道的是如何让我们的 TFS 服务器将这些计划作为部署或构建管道的一部分执行。
理想情况下,developers/devops 将从一开始就在 TFS 中设置项目,使用任何对执行这些 Selenium .SIDE 文件有意义的解决方案,但之后,测试人员将管理 adding/modifying其他地方的那些测试用例。
这里的真正目标是不让测试人员编写代码或签入代码。仅编写这些 UI Selenium 测试,但让 TFS 作为 CI.
的一部分执行这些测试在互联网上研究这个基本上总是让我做一些需要测试人员编写代码的事情。
我不认为它可以在没有代码的情况下进行自动化测试,至少,您需要一个包含您的自动化测试的测试项目。
通常,在 Azure DevOps 中,我们使用 Visual Studio Test task
到 运行 测试。此任务支持使用以下测试:
- 测试程序集:使用此选项指定一个或多个包含您的测试的测试程序集。您可以选择指定一个 过滤条件 select 仅特定测试。
- 测试计划:使用此选项可以 运行 从您的测试计划中测试具有关联的自动测试方法。了解更多 如何将测试与测试用例工作项相关联,请参阅 Associate 带有测试用例的自动化测试.
- 测试运行:在设置环境到run tests from test plans时使用此选项。不应在以下情况下使用此选项 运行在连续 integration/continuous 部署中测试 (CI/CD) 管道。
这也是我的一个问题,我想我找到了一个不完美但更好的解决方案。
我无法获得我的 Selenium IDE 测试 运行 Jenkins,但我能够通过 TeamCity 获得它们 运行,另一个 CI。 我创建了如下构建步骤:
- 运行用户类型:命令行
- 工作目录: selenium IDE .side 文件所在的位置
- 运行: 自定义脚本
- 用我平时用来运行我的SeleniumIDE测试的构建脚本内容,比如
selenium-side-runner sidefile.side
- 我还添加了以下内容,以便我可以在 Junitor 中以另一种形式输出结果:
--output-directory=results --output-format=junit
- 您还可以添加以下内容,以便测试 运行 无头,这仅适用于 Chrome :
-c "goog:chromeOptions.args=[--headless,--nogpu] browserName=chrome"
- 最后,我还使用
--filter
一次 运行 一个测试套件,但这也是可选的。 - 然后我使用另一个构建步骤将结果导出到我们的测试管理器 xray,但我认为这超出了这个问题的范围。
此解决方案的问题在于它 运行 仍然直接来自用户的个人计算机,但这可以解决。