*** Settings ***
Test Teardown Close All Browsers
Library Selenium2Library
Library Misc
*** Test Cases ***
Get Current Browser Test
Open Browser http://slashdot.org
Go To Google
Title Should Be Google
如果你想使用自定义Selenium2Library(继承),这是一个例子:
// default package
import org.openqa.selenium.WebDriver;
public class MySelenium2Library extends Selenium2Library
{
public WebDriver getCurrentBrowser() {
return this.webDriverCache.getCurrent();
}
}
直接从Robot Framework与WebDriver实例交互,使示例更简单:
*** Settings ***
Test Teardown Close All Browsers
Library MySelenium2Library
*** Test Cases ***
Get Current Browser Test
Open Browser http://slashdot.org
${driver}= Get Current Browser
Call Method ${driver} get http://www.google.com
Title Should Be Google
1 回答
当前浏览器存储在受保护的WebDriverCache字段中 . 您可以扩展Selenium2Library并公开WebDriver,但我认为在这个简单的用例中,您最好使用反射 . 这样您就可以使用原始的Selenium2Library . 其他人可能会有不一样我将展示两者 .
这两个解决方案都提供了一个Get Current Browser关键字,您可以从中获取结果并将其传递到库的构造函数等 .
在这里,您是一个带有关键字的库,该关键字将使用反射来访问WebDriverCache并公开它:
下面你可以看到它是如何使用的,将Selenium2Library关键词与Misc中的关键词混合:
如果你想使用自定义Selenium2Library(继承),这是一个例子:
直接从Robot Framework与WebDriver实例交互,使示例更简单: