我已经创建了一个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关键字,我希望它能够在我的浏览器实例上运行
1 回答
我已经编写了自己的库,但我扩展了Selenium2Library,我可以将Selenium2Library关键字与我自己的关联 . 在Selenium2Library或者你的情况下,ExtendedSelenium2Library将无法识别你刚刚在Python中启动的会话,并且会给出“No browser is open”错误 . “最大化浏览器窗口”关键字依赖于之前使用“打开浏览器”关键字打开的浏览器 .
如果你真的需要自己的Selenium库,你可以这样做: