【问题标题】:Test a python function in Robot Framework 3在 Robot Framework 3 中测试 python 函数
【发布时间】:2018-06-03 18:39:20
【问题描述】:

如何在 Robot Framework 3 中测试 python 函数。我要测试的代码是:

def message(msg):
  print ('your message is ' + msg)
  return True

机器人测试:

*** Settings ***
Library    Lib

*** Test Cases ***
Case1
    message    "hello"

【问题讨论】:

  • 这会给我类似的错误
  • 案例1 |失败 |未找到名称为“消息”的关键字。 -------------------------------------------------- ---------------------------- 有效登录 |失败 | 1 次关键测试,0 次通过,1 次失败 1 次测试总计,0 次通过,1 次失败

标签: python-3.x robotframework


【解决方案1】:

如果你有一个包含python函数的文件,你需要在机器人测试中引用带有后缀的文件名(假设你的文件名为Lib.py)。

例子:

*** Settings ***
Library  Lib.py

【讨论】:

    【解决方案2】:

    您需要按照以下步骤从机器人框架中获取调用的函数,

    第一步:创建一个python文件,函数如下 C:\Users\kgurupra\pyfirst.py

    def message(msg):
        print ('your message is ' + msg)
        return True
    

    第 2 步:确保您的 .py 文件位于 PYTHONPATH 中 - 这是非常重要的一步

    第 3 步:创建您的机器人文件,如下所述,

    *** Settings ***
    Library           String
    Library     Collections
    Library         Selenium2Library
    **Library         pyfirst.py**
    
    *** Variables ***
    ${robotVar} =            FooBarBaz
    ${MY_DATA_TABLE_VALUES_TEMP}  {"foo": "this is foo", "bar": "this is bar"}
    
    
    *** Test Cases ***
    Case1
        message    "hello"
    

    Step4: 你应该看到如下输出,

    
    (rf1) C:\Users\kgurupra>robot rbpy.robot
    ==============================================================================
    Rbpy
    ==============================================================================
    Case1                                                                 | PASS |
    ------------------------------------------------------------------------------
    Rbpy                                                                  | PASS |
    1 critical test, 1 passed, 0 failed
    1 test total, 1 passed, 0 failed
    ==============================================================================
    Output:  C:\Users\kgurupra\output.xml
    Log:     C:\Users\kgurupra\log.html
    Report:  C:\Users\kgurupra\report.html
    
    

    【讨论】:

      【解决方案3】:
      def message(msg):
          return ('your message is ' + msg)
      case1=message("hello")
      

      【讨论】:

      • 感谢您抽出宝贵时间提供答案!你能:- 1)编辑你的答案,以便详细回答。 2)解释你想用这个答案实现什么以及你想说什么?有关更多信息,请参阅如何在帮助中心写出好的答案How to Answer
      猜你喜欢
      • 2013-09-24
      • 2021-04-19
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 2013-09-06
      相关资源
      最近更新 更多