硒2在过去几个月一直处于β期。如果我们有任何人从硒1中分析/迁移到硒2,我想知道学习
答案 0 :(得分:21)
自己完成过渡。如果你有Selenium 1的经验,Selenium 2实际上感觉完全不同。这是我的Selenium 2优点/缺点与Selenium 1我到目前为止看到的(我使用Python,因此其中一些是特定于Python的):
driver.execute_script("document.getElementById('dashboard_menu_navigation').show()")
然后点击菜单项driver.find_element_by_link_text('Orders').click()
示例(今天抛出'WebElement' object has no attribute 'mouse_move_to'
):
element=driver.find_element_by_id('mn_dashboard')
mouse=Mouse()
mouse.move_to(element)
Cons列表似乎更长,但主要是如果你来自Selenium 1.我更喜欢Selenium 2的轻盈和速度,尽管早期的代码(在写作时使用2.0b4)整个事情是相当的可用。
希望能节省一些时间......
答案 1 :(得分:10)
从Selenium 1转移到Selenium 2就像从
移动一样简单Selenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.example.com");
selenium.open("/");
到
Webdriver driver = new FirefoxDriver();
Selenium selenium = new WebDriverBackedSelenium(driver, "http://www.example.com");
selenium.open("/");
由于Selenium 2与浏览器绑定得更紧密,因此您会看到巨大的差异。我已经看到测试运行速度提高了至少2倍,但在某些情况下我看到测试运行速度提高了4倍。
您在Selenium期间学到的所有最佳实践都将在
之间进行翻译答案 2 :(得分:1)
可能有帮助的幻灯片也会发布在这里:
http://www.slideshare.net/rogerjhu1/lessons-learned-migrating-tests-to-selenium-v2
答案 3 :(得分:1)
您可以使用WebDriverBackedSelenium类将WebDriver接口转换为Selenium接口:
Selenium selenium = new WebDriverBackedSelenium(webDriver, baseUrl)
;
或者您可以使用方法getUnderlyingWebDriver()将Selenium接口转换为WebDriver接口:
WebDriver webDriver = ((WebDriverBackedSelenium)selenium).getUnderlyingWebDriver();
我发布了我最近关于如何开始使用Selenium 2的演示文稿的幻灯片:
http://www.slideshare.net/sebarmeli/getting-started-with-selenium-2
Selenium 2中最好的做法之一是PageObject模式。
如果您使用的是Java和Maven,您可能需要查看这个Archetype插件(这也让您初步了解PageObject模式):
https://github.com/sebarmeli/Selenium2-Java-QuickStart-Archetype