我有一个java中由maven驱动的Robot-framework项目,它使用selenium 3.4.0依赖项、robotframework 3.0.2依赖项、markusbernhardt的selenium2library版本1.4.0.8和robotframework-maven-plugin版本1.4.7。
我的机器人测试位于src/main/test/robotframework/acceptance文件夹中,而在src/main/java/mypackage中我创建了一个Customized.java文件为浏览器驱动程序路径设置系统属性(然后我在测试中导入此库:
*** Settings ***
Library Selenium2Library
Library mypackage.Customized
这非常有效。但现在我想实现我自己的关键字来扩展 Selenium2Library。但我不确定如何获取当前正在运行的 WebDriver 实例。
我的意思是,如果我不使用 Robot 而只是使用普通的 Selenium,我会做这样的事情:
WebDriver driver=new ChromeDriver();
driver.doSomething();
但是,在这种情况下,我不想实例化一个新的 WebDriver,而是获取当前正在运行的 WebDriver(机器人会自动实例化)。我怎样才能做到这一点?
到目前为止,我已经创建了一个 Selenium2Library
对象,并使用 Selenium2Library.getLibraryInstance();
返回的值设置它,但这并没有让我访问 selenium 的方法(例如:getCurrentUrl() 未列出)。
最佳答案
在Python中可以使用以下代码完成
from robot.libraries.BuiltIn import BuiltIn
def _browser(self):
return BuiltIn().get_library_instance('Selenium2Library')._current_browser()
关于java - 机器人框架: how can I get current instance of selenium webdriver to write my own keywords?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44959866/