【问题标题】:Robot Framework test case naming convention and running with bat-fileRobot Framework 测试用例命名约定和使用 bat 文件运行
【发布时间】:2020-02-17 16:15:49
【问题描述】:

我对 Robot Framework 测试用例命名约定以及在 Windows-10 笔记本电脑上使用 .bat 文件运行测试用例有疑问。 在我使用 Robot Framework 的有限经验中,我主要使用 RIDE-editor,并且在运行时没有遇到很多问题。

在下面的链接中查看测试用例命名约定时,一个好方法似乎是把 单词之间的空格。非常简单的例子是Open Browser,所以它们之间有一个空格 属于测试用例名称的两个单词。更长的例子是Empty Username And Password 我个人喜欢那种带空格的风格。

https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/HowToWriteGoodTestCases.rst#test-case-names

但是我注意到,如果我尝试像这样从 .bat 文件运行。

robot -t testcasename testsuitename.robot

@echo off
cd C:\Users\developer\Robot
robot -t Open Browser Demosuite.robot

然后命令提示符会在消失前不久闪烁,并且像这样运行测试用例不起作用。使用 RIDE-editor 运行时,运行没有问题。

但是如果我像这样重命名测试用例。

@echo off
cd C:\Users\developer\Robot
robot -t Open_Browser Demosuite.robot

这行得通。那么从 .bat 运行时,它不应该与空格一起使用这种预期行为吗?

机器人框架-代码:

Resource          Resources/CommonResources.robot

*** Test Cases ***
Open Browser
    Open Browser    https://www.google.com    Firefox

【问题讨论】:

  • 是的,要么将空格更改为下划线,要么 - 用双引号将参数括起来(这是在 Windows 中传递此类值的正常方式)。例如。 robot -t "Open Browser" Demosuite.robot
  • cmd 将每个空格视为命令和参数的分隔符。机器人也是如此,它在-t 开关之后需要一个参数。为了使其成为单个参数,我们使用双引号,因此内部空格被忽略并被视为参数的一部分。

标签: batch-file robotframework


【解决方案1】:

问题与 Windows 和其他操作系统如何处理命令行参数有关。 Windows 对机器人一无所知,对 -t 参数或它的期望一无所知。当它看到robot -t Open Browser Demosuite.robot 时,它会看到以下内容:

* command name: robot
* argument 1: -t
* argument 2: Open
* argument 3: Browser
* argument 4: Demosuite.robot

请注意,“打开”和“浏览器”被视为两个单独的参数。

使用空格传递参数,无论是使用机器人还是任何其他命令行工具,都需要使用引号。在您的情况下,您可以使用robot -t "Open Browser" Demosuite.robot,或者如您所见,您可以使用下划线代替机器人(可能机器人)将为您转换为空格的空格。

【讨论】:

    猜你喜欢
    • 2014-02-27
    • 2014-09-20
    • 2018-01-11
    • 2017-09-21
    • 2023-03-17
    • 2019-09-03
    • 2015-01-31
    • 2020-11-23
    • 2019-07-13
    相关资源
    最近更新 更多