使用 Robot Framework 在 PyCharm 上运行测试

Posted

技术标签:

【中文标题】使用 Robot Framework 在 PyCharm 上运行测试【英文标题】:Running tests on PyCharm using Robot Framework 【发布时间】:2015-01-31 02:12:45 【问题描述】:

我开始使用带有 robot 框架的 PyCharm,但我遇到了一个问题。 如何运行我的测试?每次我右键单击我的测试文件夹时,我都会从控制台日志中收到一条空测试套装消息。

有什么方法可以单独运行每个测试,比如右键单击测试用例并点击测试运行器?

这是我的代码:

*** Settings ***
Library     Selenium2Library
Resource    /steps/keywords.txt

*** Variables ***
$URL         http://www.google.com

*** Keywords ***
Open browser with URL
    [arguments]     $url
    Open Browser    $url  browser=gc

Set input on text box
    [arguments]     $xpath    $text
    Input text      $xpath    $text

Push button
    [arguments]     $button
    Click Button    $button

*** Test Cases ***
Google Access
    Open browser with URL   $URL
    Set input on text box   //*[@id="gbqfq"]    Critical Software
    Push button             //*[@id="gbqfba"]

    #Close Browser    

【问题讨论】:

【参考方案1】:

我已经为 Robot Framework 使用了Intellibot PyCharm 插件。

为了运行测试,我们可以做如下配置:

    转到文件 > 设置 > 外部工具 点击“外部工具”面板下的“+”按钮 在“创建工具”对话框中,输入以下值: 名称:机器人 程序:[Pybot.bat 的路径,例如 C:\Python27\Scripts\Pybot.bat] 参数:$FileName$ 工作目录:$FileDir$ 点击确定

完成上述配置后,我们会在 IDE 的测试上下文菜单中获得“机器人”选项。选择该选项以在 PyCharm 中运行您的测试套件。

【讨论】:

如何在调试模式下运行测试? 在调试模式下运行机器人框架测试,需要使用射频调试库-pypi.python.org/pypi/robotframework-debuglibrary @Alexander.Iljushkin 请检查此链接 - robotframework.org/robotframework/latest/…【参考方案2】:

最直接的方法是创建运行配置,然后使用运行命令。

这是一个示例截图 - 在菜单 Run->Run Configurations 中调用它,解释如下:

屏幕截图中的

1) 是 RF run.py 文件的位置 - 它位于 python 安装中的 Lib\site-packages\robot 目录中 - 或如图所示的 virtualenv案例。

2) 是完全相同的 python 解释器 - 确保它与 1) 中使用的解释器相同(否则可能会变得混乱:)

3) 是您从命令行运行机器人时通常传递给机器人的参数。最低要求是提供必须运行的套件的路径 - 示例屏幕截图中的最后一个参数。

PyCharm 没有通过右键单击“运行此特定测试用例”的选项 - 因为 RF 依赖于在 CLI 上提供此信息(确切地说是哪种情况)。

这种案例选择可以通过多种方式完成 - 只需查看 Robotframework 的执行选择器(按标签、案例名称等)。所有这些选项都在运行配置的“脚本参数:”框中设置;例如,要运行带有 Sanity 标签的测试,请使用 --include sanity,运行特定的测试用例 - --name "My test case",等等.


顺便说一句,使用运行配置的最大好处之一是您可以调试执行 - 即使用最适合的 IDE :)

运行配置不依赖于安装的 任何 插件 - 尽管 IntelliBot 是开发 IMO 案例的“绝对必须”,从步骤中可以看出它与执行/运行无关.

【讨论】:

【参考方案3】:

如何通过测试配置运行测试 1) 在“运行/调试配置”对话框(运行 -> 编辑配置...)中添加一个新的 Python 配置和下一个设置 将“脚本”设置为指向 RobotFramework 文件夹中的 run.py 文件。 将“脚本参数”设置为要执行测试的参数列表。 (这些是您传递给 pybot 命令的参数)。 将“工作目录”设置为测试项目工作目录

保存它,它将为您创建一个新配置。

2) 运行配置,您可以通过按运行按钮运行。 并在测试输出窗口中查看测试输出。

如何一键运行测试(从上下文菜单中) 您可以做的是在 Pycharm/IntellijIDEA 中设置外部工具来执行此操作。 1) 打开文件 -> 设置 (Alt+F7) 并搜索“外部工具”,单击添加以添加新配置并设置字段而不是下一个值 external tool

此处重复值:

C:\Python27\Scripts\pybot.bat
<your variables> --test "$SelectedText$" TestSuite
$ProjectFileDir$

保存更改

2) 通过突出显示测试用例名称并运行外部工具来运行测试: 右键 -> 外部工具 -> 单独测试

顺便说一句,您还可以从测试配置中调试您的测试(python 代码)。 希望对您有所帮助。

我有一个关于如何使用 Pycharm/IntellijIDEA 运行测试的 detailed blog post,请随时检查一下。

【讨论】:

【参考方案4】:

对于 PyCharm 中的机器人框架集成,请确保您使用的是 IntelliBot @SeleniumLibary Patched 插件

进入文件--设置--插件--(搜索IntelliBot)

【讨论】:

以上是关于使用 Robot Framework 在 PyCharm 上运行测试的主要内容,如果未能解决你的问题,请参考以下文章

使用 Robot Framework 的执行级别设置和拆卸

Robot Framework 使用总结

Robot Framework - 从带有参数的其他 *.robot 脚本调用 *.robot 脚本

robot framework使用接口框架进行接口测试

使用 Robot Framework 在 PyCharm 上运行测试

无法在 Robot Framework 中使用 XPath 定位元素