代码之家  ›  专栏  ›  技术社区  ›  Paresh

有没有一种最简单的方法可以将Selenium1.0代码迁移到WebDriver?

  •  1
  • Paresh  · 技术社区  · 11 年前

    我正在使用Selenium1.0开发旧的测试自动化框架,现在想将我的代码迁移到WebDriver。

    有什么最简单的方法可以进行迁移吗?

    我已经重写了大多数方法,如type、click、getText、getSelectedLabel、assert等。我认为唯一的方法是从头开始重新编写所有方法,我已经开始了这个过程,但如果我继续使用相同的方法,我将花很多天的时间。

    如果有人有更好的方法,请提出建议。

    提前谢谢。

    2 回复  |  直到 11 年前
        1
  •  2
  •   ddavison    11 年前

    它们是完全不同的技术。没有办法将它们迁移到硒2本身。

    幸运的是,最近的Selenium版本已经实现了所谓的“WebDriver-Backed Selenium”,所以从技术上讲,如果你使用这些测试,它会隐式地将它们“作为”WebDriver测试运行。

    除此之外,没有简单的方法。

    我也遇到了同样的问题——我们现在正在将整个回归套件迁移到S2 :)

        2
  •  2
  •   vbail    11 年前

    在Webdriver文档中,他们解释了一种开始从SeleniumRC迁移到SeleniumWebDriver的方法。 基本上,是这样创建硒对象的:

    WebDriver driver = new FirefoxDriver();
    Selenium selenium = new WebDriverBackedSelenium(driver, "http://www.yoursite.com");
    

    这种迁移(而不是更改整个代码)的主要问题是等待页面加载。正如他们所说,WaitForPageToLoad命令返回得太早。getEval是您必须更改的另一个命令。 我认为最好的方法是使用不同于Selenium RC和Selenium WebDriver的主要命令来生成函数,并且,一旦一切都“正常”,就继续修改代码,直到没有Selenium RC为止。这就是我们进行迁移的方式,我们有很多行代码。

    这是链接,他们在其中解释了如何开始: http://www.seleniumhq.org/docs/appendix_migrating_from_rc_to_webdriver.jsp#migrating-to-webdriver-reference