微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 PyCharm 机器人框架运行 python 脚本

如何解决从 PyCharm 机器人框架运行 python 脚本

我有一些使用 Robot Framework 的经验,但没有从 RF 测试用例运行 Python 文件的经验。在这种情况下,我要做的就是在运行 RF 测试用例设置时让我的 HelloWorld.py 文件显示“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。我不明白为什么我会看到 消息。

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

解决方法

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

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

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

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

假设你有一个函数

def print_hello_world():
  return "Hello world"

您可以将其作为库导入并像这样使用 function 作为关键字

*** Settings ***
Library  hello_world.py

*** Test Cases ***
Sample Test
  ${text}=  Print Hello World
  Log To Console  ${text}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。