指定“WITH NAME”以从单个测试用例访问多个机器人框架远程服务器的正确方法是啥?

Posted

技术标签:

【中文标题】指定“WITH NAME”以从单个测试用例访问多个机器人框架远程服务器的正确方法是啥?【英文标题】:What is the correct way to specify 'WITH NAME' to access multiple robotframework Remote servers from a single test case?指定“WITH NAME”以从单个测试用例访问多个机器人框架远程服务器的正确方法是什么? 【发布时间】:2014-10-15 15:55:43 【问题描述】:

根据http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#remote-library-interface 的文档,这非常简单。所以我尝试了那里描述的内容:

*** Settings ***
Library       Remote   http://$ADDRESS:$PORT   WITH NAME LinuxHost
Library       Remote    http://$ADDRESS:$PORT  WITH NAME WindowsHost

*** Variables ***
$ADDRESS    127.0.0.1
$PORT       8270

*** Test Cases ***
Example
    WindowsHost.Start Process  /bin/sleep    60  
    LinuxHost.Start Process    /bin/sleep    60  
    LinuxHost.Run Process      /bin/sleep    20

这失败了

Error in file 'processtest.txt': Test Library 'Remote' expected 0 to 1 arguments, got 2.

我正在像这样运行 python 远程服务器:

from robot.libraries import Process 
r=robotremoteserver.RobotRemoteServer(Process.Process(),'0.0.0.0')

当我只有一个没有“WITH NAME”关键字的库时,它可以正常工作。这是机器人服务器 2.8.5。

这是Multiple remote libraries with robot framework 的相反问题。

【问题讨论】:

【参考方案1】:

WITH NAME 和后面的名称之间没有足够的空格。您需要两个或更多空格,以便 WITH NAME 单独位于一列中。

Robot 会在单元格中查找字面词 WITH NAME 并且这些词。由于您没有足够的空间将其与下一个单元格分开,因此机器人认为这只是远程库的另一个参数。

来自文档(重点是我的):

指定新名称的基本语法是在库名称之后添加文本 WITH NAME(不区分大小写)然后在下一个单元格中添加新名称

【讨论】:

谢谢。我想知道机器人框架是如何分离标记(列)的——我显然仍处于“快速启动”阶段。 @Marvin:如果您刚刚学习,我建议使用管道分隔格式。有关说明,请参阅 this blog post。 @Marvin:避免此类问题的另一种选择是使用 RIDE。它为您处理所有文件格式。 @Bryan 我阅读了更多文档,我同意管道分隔符是一个好方法。我正在尝试将这项技术带入我们的开发组,因此清晰性很好。我还遇到了 robots.tidy,它在格式之间切换以查看它们的外观很有用。

以上是关于指定“WITH NAME”以从单个测试用例访问多个机器人框架远程服务器的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

pytest-repeat插件,指定用例重复运行重复运行次数

接口自动化框架httprunner--用例执行

接口自动化框架httprunner--用例执行

pytest-28-重复执行用例(pytest-repeat)

30-pytest-重复执行用例-pytest-repeat

多个测试用例的getline问题[关闭]