这是示例add.robot文件

*** Settings ***
Library   SudsLibrary
Library   XML
Library   String

*** Test Cases ***
Test Webservice

    create Soap Client    http://www.dneonline.com/calculator.asmx?wsdl

    ${add}    Create Wsdl Object   Add
    ${add.intA}    Set Variable    3
    ${add.intB}    Set Variable    4

    # # call soap web service
    call soap method  Add  ${Add}
    ${soap_response}    Get Last Received
    log to console  ${soap_response}
    ${XML_object}=  Parse XML  ${soap_response}
    log    ${XML_object}
    ${result}  get element text  ${XML_object}  .//AddResult
    set global variable  ${result}

substract.robot文件

试图在该文件中使用结果变量,但显示错误。 这两个文件都存在于同一文件夹中

*** Settings ***
Library   SudsLibrary
Library   XML
Library   String


*** Test Cases ***
Test Webservice
    create Soap Client    http://www.dneonline.com/calculator.asmx?wsdl

    ${subs}    Create Wsdl Object   Subtract
    ${subs.intA}    Set Variable   ${result} #shows error
    ${subs.intB}    Set Variable    4

    # # call soap web service
    call soap method  Subtract  ${subs}
    ${soap_response}    Get Last Received
    log to console  ${soap_response}
    ${XML_object}=  Parse XML  ${soap_response}
    log    ${XML_object}
    ${result11}=  get element text  ${XML_object}  .//SubtractResult

#1楼 票数:3

最好的做法是使每个文件独立,因此,我建议您重写测试,以使它们不相互依赖。

全局机器人变量

话虽如此,如果您想在一个文件中设置一个变量并能够在另一个文件中使用它,则需要使用内置关键字Set global variable

从文档中:

使用此关键字设置的变量在设置它们后执行的所有测试用例和套件中全局可用。 因此,使用此关键字设置变量与使用--variable或--variablefile选项从命令行创建变量具有相同的效果。 由于此关键字可以在任何地方更改变量,因此应谨慎使用。

您的问题提到var1但是您的代码没有var1 如果您打算编写${node} (出现在问题的原始版本中),则可以这样做:

set global variable  ${node}

全球图书馆范围

如果您不是在询问机器人变量,而是在如何让套件在套件之间保留变量,则需要将库中的ROBOT_LIBRARY_SCOPE变量设置为"GLOBAL" 例如:

class token1:
    ROBOT_LIBRARY_SCOPE = "GLOBAL"
    ...

有关更多信息,请参见测试库范围

#2楼 票数:2 已采纳

你可以试试看 值表格Test 1.robot用于Test 2.robot

测试1.机器人

*** keywords ***
Test1 Webservice
   set global variable  ${node}

测试2.机器人

*** Settings ***
Resource Test 1.robot

*** Test Cases ***
Test2 Webservice
  Test 1.Test1Webservice
  ${node1} set Variable ${node} 

  ask by madhur translate from so

未解决问题?本站智能推荐:

1回复

Pycharm无法在我的自定义库中的机器人文件上显示方法建议

我有一个名称为Service.py的库,其中包含: 在我的Pycharm项目中,我创建了一个包含以下内容的机器人文件: 这个测试用例很好用,但是当我输入“ Ser”并按“ Ctrl + Space”时,我必须手动键入此代码,这里没有任何建议。 当我键入“ ServiceKeyw
2回复

如何在机器人框架中将属性调用到.robot文件中? 我正在PyCharm中编写脚本

这是我实现到TestObject.py文件中的程序 我想将上述代码调用到我实现了关键字“机器人框架”的套件中。 如何将上述类的对象实例化到机械手文件中。 我不知道如何将字段,变量,函数调用到.robot文件中
1回复

如何在机器人框架中使用Rest API上传文件

无法使用机器人框架的请求库上传文件/发送多部分/表单数据。
2回复

如何在机器人框架工作中将具有值的变量从一个机器人文件传递到另一个机器人文件

测试1.机器人 测试2.机器人 当我运行 Test 2.robot 文件时尝试在控制台上打印 babitha
2回复

如何在机器人框架中的运行时创建报告文件夹

我是Robot Framework的新手,我创建了此代码来创建当前日期的文件夹,但现在我不知道在测试套件运行时如何使用它。 这样,每当我运行套件时,它将存储在单独的文件夹中,即按日期存储。 这是使用系统日期创建文件夹的代码: 目前,我正在使用此命令创建目录: 我想要以下代码:
1回复

如何在机器人框架中使用侦听器

我在机器人版本3.0.4中使用python 2.7.15。 我只需要截取FAILED测试用例的屏幕截图。 stackoverflow中的一些帖子说必须使用侦听器来操纵测试结果。 还是有相同的关键字?
1回复

如何将参数直接从json文件传递到机器人框架中的关键字?

我有一个像这样的Json文件.PFB代码: 关键字如下: 我的问题是: 1)json文件包含很多东西,但我只需要从文件中获取属性。我将如何从整个json文件中获取属性,并将参数如username,password,phonenumber直接传递给上述关键字。 2)如何
3回复

Robot Framework 中的拆解操作

我在机器人框架中有 3 个测试用例,我需要在执行 3 个测试用例后最后只运行一次拆卸操作。 如何处理?