如何结合python和robotframework

时间:2017-03-21 11:30:53

标签: python selenium-webdriver robotframework

我想在python中创建自己的关键字。如何连接python和robotframework?我知道我需要用我的函数导入python库/文件。但是如何将selenium webdriver与该脚本连接起来呢?

例如: 我希望功能只能按下按钮而不需要定位器。 我正在使用selenium webdriver。 如何在不调用2个webdrivers的情况下使用它?

我有机器人测试:

test something -> my_own_keyword -> more robot tests

我有python file.py“

def press_button(button):
    ...
    ...

我需要让我的python + selenium功能在机器人中运行。

2 个答案:

答案 0 :(得分:1)

为了开始开发自定义库,最好对Robot Framework本身有一个正确的理解。这与您采用的方法没有什么不同,它假定您在扩展之前了解常规应用程序。

这同样适用于扩展现有库。您应该了解您要编程的编程语言,但也要了解您即将扩展的库。

只有当上述项目到位时,您才能真正期望构建您的目标。

如果您对普通机器人框架与Selenium2Library结合并对Python的理解有所了解,那么我建议您执行以下操作。

  1. 设置Python开发环境。即安装PyCharm或PyDev(Eclipse)并确保您有一个可用于hello world示例的可用Python环境。
  2. 了解Python Virtual Environment并进行设置。
  3. 创建一个新项目并开发一个标准的Robot Framework Library。确保您可以在python调试器中调试python代码。在安装了REDPyDev扩展程序的Eclipse中工作时,可以使用此guide进行设置。
  4. 使用PIP从python卸载Selenium2Library。在Python IDE中创建一个新项目,从新项目中的GitHub下载并提取Selenium2library代码。使用python /.../Selenium2Library/setup.py develop在开发模式下安装Selenium2Library。这将允许您调整现有代码并使其在Python中处于活动状态,而无需重新安装。
  5. 从这一点开始,您可能希望开始尝试使用自己的功能,并且只在生产中使用自己的版本。这样做的缺点是,Selenium2Library的任何更新都需要与您自己的代码合并。

    但是,如果您想创建一个新的图书馆扩展,您可能希望从Extended Selenium2Library中获取灵感,了解如何做到这一点。这将允许您在不合并的情况下使用任何更新。但是,创建新库需要一些开销。

答案 1 :(得分:0)

只需将带有路径的库放入机器人文件中的设置。

*** Settings *** Library ./libraries/extendedLibrary.py

在该文件中创建新的关键字extendedLibrary.py

def Capitalize_String(string): string = string.capitalize() return string

之后,您可以在机器人文件中使用自己的新关键字。

${string_with_capitals}= Capitalize_String all small letters

因此,你将在Robot Framework中拥有变量string_with_capitals,它等于“所有小写字母”