【问题标题】:how to run specific tests from different suites in robotframework如何在机器人框架中运行不同套件的特定测试
【发布时间】:2016-12-09 13:35:19
【问题描述】:

我使用机器人框架创建了 2 个不同的套件 说

TestSuite1 which has tests
      TestCase1
      TestCase2

TestSuite2 which has tests
      TestCase3
      TestCase4

现在,我想按以下顺序运行测试用例

TestSuite2\TestCase4
TestSuite1\TestCase1
TestSuite1\TestCase2
TestSuite2\TestCase3

当我在 stack over flow 论坛中搜索时,我得到了两个不同的答案,分别是

答案 1:创建一个 Argument 文件,其中包含要运行和运行的套件名称

Argument_File.txt
-----------------
TestSuite2
TestSuite1

pybot -A Argument_File.txt

答案 2:要在套件中运行特定测试,请给出命令

robot --test TestCase1 TestSuite1

但我的目的不同,我想按照我希望的顺序在不同的套件中运行不同的测试用例。

谁能帮帮我。

谢谢 萨拉达

【问题讨论】:

  • 第一件事,你为什么要保持测试用例的顺序,使得必须一个接一个地执行的两个测试在不同的套件中?如果您仍然想实现,我相信机器人有足够的功能来实现这一目标。但主要是为什么有人想这样做:)
  • 如果不完全一样,如果我想运行套件 1 的一些测试用例,然后套件 2 的一些测试用例将达到我的目的。我的目的是,如果我想运行理智的那种,那么它对我很有用
  • 您可以在不同套件的测试中添加相同的标签。当您运行时,只会执行这些测试。
  • 嗨 waman,感谢您的回复,如何在参数文件中给出这个。因为当我尝试它时,它只接受套件名称,对于其他事情我得到了错误。

标签: robotframework


【解决方案1】:

参数文件

--include <tags>
<Suite1> 
<Suite2>
<Suite3>

这应该在您的所有套件中运行标记有相似名称的测试。

希望对你有帮助!

【讨论】:

  • 感谢 waman 成功了。带着好奇,我问是否不可能在参数文件中提供--test 并执行特定的测试用例?
  • 绝对有可能!参数文件不过是可以传递命令行参数的外部位置。因此,从命令行运行的每件事都可以成为参数文件的一部分
【解决方案2】:

你不能做你想做的事。一个套件中的所有测试都将在下一个套件中的任何测试之前运行。

【讨论】:

  • 感谢您的回复 Bryan,很遗憾我们在 Robot Framework 中没有此选项。
【解决方案3】:

您可以为套件中的每个测试用例添加标签。现在,为您的第二个套件提供相同的标签名称,并在执行时包含此标签并运行。示例:我创建了两个套件

Suite1
Test1
[Tags]  x  y

Test2
[Tags]  z  w


Suite2
Test1
[Tags]  w  y

Test2
[Tags]  x  z

这些套件位于某个文件夹“folder_1”下。现在,如果你想运行所有带有标签 x 的测试用例,只需输入如下

pybot -i x folder_1

这将从套件 1 执行 test1,并从套件 2 执行测试 2。

【讨论】:

  • 嗨,海军,感谢您的回复。是否可以在该命令中说两个标签以执行
【解决方案4】:

我发现 RED 插件中存在精确的近功能。

安装Eclipse(Mars或以上版本)+RED + RobotFramework-EclipseIDE

pom.xml --> right click --> Run As --> Run Configurations 

这里我们可以选择不同测试套件下的测试用例。

但正如 waman 所说,它将是一个接一个的测试套件。

【讨论】:

    猜你喜欢
    • 2020-04-23
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 2019-08-02
    • 2021-02-10
    • 2016-02-20
    • 2017-04-25
    • 1970-01-01
    相关资源
    最近更新 更多