从Selenium RC迁移到Webdriver

时间:2012-10-16 08:41:20

标签: selenium automation webdriver selenium-rc selenium-webdriver

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

我是否需要将这些命令更改为等效的webdriver命令,或者是否仍然可以使用这些命令?

我使用的是Firefox 12,Eclipse IDE

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:4)

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

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