我创建了一个初始化chrome浏览器的python代码,我想将此驱动程序实例传递给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关键字,我希望它能够在我的浏览器实例上运行
答案 0 :(得分:0)
我已经编写了自己的库,但我扩展了Selenium2Library,我可以将Selenium2Library关键字与我自己的关联。在Selenium2Library中,或者在您的情况下,ExtendedSelenium2Library将无法识别您刚刚在Python中启动的会话,并且将提供“No browser is open”错误。 “最大化浏览器窗口”关键字依赖于之前使用“打开浏览器”关键字打开的浏览器。
如果你真的需要自己的Selenium库,你可以这样做:
class SeleniumKeywords(ExtendedSelenium2Library):
def go_to(self, url, browser="chrome"):
self.open_browser(url, browser)