【发布时间】:2018-04-01 07:00:23
【问题描述】:
我创建了一个 python 代码来初始化一个 chrome 浏览器,我想将此驱动程序实例传递给 Robot Framework,以便 RF 的关键字可以在此实例上工作。请让我知道我该怎么做。 初始化文件的 Py 代码是:
'class SeleniumKeywords:
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
def __init__(self):
self.driver = None
def open_browser(self, browser="chrome"):
driver_class = drivers[browser]
self.driver = driver_class()
def go_to(self, url):
self.driver.get(url)'
现在在 Robot 框架中使用它时,浏览器会打开,但 RF 关键字不起作用(selenium2library 关键字)。基本上我使用自定义关键字打开浏览器实例并在 RF 中使用 selenium2library 关键字最大化。不幸的是它不起作用。请告诉我如何将此浏览器实例传递给 RF:
'*** Settings ***
Library ExtendedSelenium2Library
Library ../Resources/SeleniumKeywords.py
Resource ../Global/GlobalConfig.robot
*** Test Cases ***
Reuse Session ID
SeleniumKeywords.Open Browser chrome
maximize browser window
SeleniumKeywords.Go To ${URL} '
最大化浏览器窗口是一个 RF 关键字,我希望它在我的浏览器实例上工作
【问题讨论】:
-
您创建自己的驱动程序而不是使用
ExtendedSelenium2Library创建的驱动程序有什么原因吗?为什么不让您的代码使用ExtendedSelenium2Library打开的代码,而不是相反? -
Maximize Browser Window上的公平警告:它并不总是像宣传的那样工作,尤其是在 Chrome 上。另外,我可以缩短您的测试用例:Open Browser ${URL} chrome、Maximize Browser Window。如果Maximize Browser Window适用于您的设置,那将完全按照您的意图进行。您不需要专门调用 SeleniumKeywords,您已经使用Library ExtendedSelenium2Library调用在您的实例中初始化了这些确切的关键字。
标签: python selenium-webdriver robotframework