【问题标题】:Running python script from PyCharm Robot Framework从 PyCharm 机器人框架运行 python 脚本
【发布时间】:2021-04-24 22:17:48
【问题描述】:

我对 Robot Framework 有一些经验,但没有从 RF 测试用例运行 Python 文件。在这种情况下,我要做的就是让我的 HelloWorld.py 文件在运行 RF 测试用例设置时显示“Hello World”。这是我的代码。

Python 文件

HelloWorld.py

print("Hello World")

机器人测试用例

*** Settings ***
Documentation       GradApp Regression
Library             Zoomba.GUILibrary
Library             Process
Resource            ../../Pages/resource.robot
Suite Setup         App Setup       ${url}  ${browser}

*** Variables ***
${browser}          chrome
${url}              https://app.test.com/

*** Keywords ***
Python Script Test
     ${fish}=  Run Process       python   C:\PyCharm\Automation\HelloWorld.py
     Log To Console              ${fish}

App Setup
     [Arguments]                 ${url}  ${browser}=${browser}
     Open Browser                ${url}  browser=${browser}  
     Log To Console              Setup complete.
     Python Script Test

*** Test Cases ***
TC 001 Basic Case
     <UI Keywords after Setup is complete.>

运行此代码测试时,我没有收到错误消息。我只是在控制台中显示 。我只需要看到设置完成显示,然后在其下方看到 Hello World。我不明白为什么我会看到 消息。

我查看了其他一些解决方案,但似乎都没有解决这个特定问题。我的图书馆错了吗? “运行过程”不是正确的关键字吗?我将不胜感激你们可以提供的任何帮助。非常感谢。

【问题讨论】:

    标签: python scripting robotframework


    【解决方案1】:

    “”消息告诉您进程退出,返回码为2,这是一个错误。您可以通过记录${fish.stderr} 来查看错误消息。

    Robot 使用\ 作为转义字符。您应该改用 / -- / 作为 Windows 上的路径分隔符是完全有效的。

    ${fish}=  Run Process    python   C:/PyCharm/Automation/HelloWorld.py
    

    【讨论】:

    • 谢谢。所以它现在返回 rc 0,至少在流程执行中这似乎是成功的。但我仍然没有在运行控制台中显示“Hello World”。
    • @JustinHooks:正确。运行该过程时将返回输出。这被记录为库文档的一部分。在您的情况下,您可以使用 ${fish.stdout} 访问输出。
    【解决方案2】:

    有更简单的方法,你可以将你的 python 脚本作为库导入,并使用 Python 函数作为关键字。

    假设你有一个函数

    def print_hello_world():
      return "Hello world"
    

    你可以将它作为库导入,并像这样使用函数作为关键字

    *** Settings ***
    Library  hello_world.py
    
    *** Test Cases ***
    Sample Test
      ${text}=  Print Hello World
      Log To Console  ${text}
    

    【讨论】:

      猜你喜欢
      • 2017-11-22
      • 2016-07-29
      • 1970-01-01
      • 2017-01-14
      • 2021-02-10
      • 2015-03-22
      • 2016-08-09
      • 2016-05-23
      • 2017-04-05
      相关资源
      最近更新 更多