2

我正在从 RC 迁移到 webdriver。在我现有的项目中,我使用 Selenium 类中的方法,例如 selenium.click() selenium.type() 等。

我需要将这些更改为等效的 webdriver 命令,还是有办法我仍然可以使用这些命令?

我使用 Firefox 12,Eclipse IDE

4

2 回答 2

4

WebDriverBackedSelenium。本质上,这是 RC API 和 WebDriver API 之间的桥梁。这将做你所追求的,会对代码进行一些修改,但大部分仍然是相同的。它为您提供了 WebDriver 本身的灵活性,同时保持旧代码不变。

强烈建议将您的解决方案完全转换为直接使用 WebDriver API。

WebDriver API 不断更新、开发和支持。

RC API“RC-WebDriver-Bridge”(WebDriverBackedSelenium)不会。

页面WebDriverBackedSelenium存在于此处:

http://seleniumhq.org/docs/03_webdriver.html#alternative-back-ends-mixing-webdriver-and-rc-technologies

创建 Firefox 新实例的示例用法:

var driver = new FirefoxDriver();

var selenium = new WebDriverBackedSelenium(driver, baseUrl);

selenium.open("http://www.google.com");
selenium.type("name=q", "cheese");
selenium.click("name=btnG");

selenium.stop();
于 2012-10-16T08:47:51.803 回答
4

在使用给定的驱动程序创建 WebDriverBackedSelenium 实例后,不必调用 start() - 因为驱动程序的创建已经启动了会话。在测试结束时,应该调用 stop() 而不是 Driver 的 quit() 方法。

这更类似于 WebDriver 的行为——创建一个 Driver 实例会启动一个会话,但它必须通过调用 quit() 显式终止。

于 2012-10-17T06:30:02.210 回答