我想在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功能在机器人中运行。
答案 0 :(得分:1)
为了开始开发自定义库,最好对Robot Framework本身有一个正确的理解。这与您采用的方法没有什么不同,它假定您在扩展之前了解常规应用程序。
这同样适用于扩展现有库。您应该了解您要编程的编程语言,但也要了解您即将扩展的库。
只有当上述项目到位时,您才能真正期望构建您的目标。
如果您对普通机器人框架与Selenium2Library结合并对Python的理解有所了解,那么我建议您执行以下操作。
python /.../Selenium2Library/setup.py develop
在开发模式下安装Selenium2Library。这将允许您调整现有代码并使其在Python中处于活动状态,而无需重新安装。从这一点开始,您可能希望开始尝试使用自己的功能,并且只在生产中使用自己的版本。这样做的缺点是,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,它等于“所有小写字母”