Selenium v1 一般使用 java 包 com.thoughtworks.selenium 调用或处理 csv file, 运行Selenium类,
而Selenium v3 一般使用 java 包 org.seleniumhq.selenium, 运行WebDriver类并支持 Remote Selenium 调用
以后的文章将会进一步距离说明两者在启动上的差异.
两者版本的不同对浏览器支持也会差异很大,例如Firefox版本
此篇文章的测试selenium v1 在 FFv3低版本, 而selenium v2 在FFv63版本
这里比较两个不同selenium版本典型命令的处理差异,对于迁移命令和解析供参考
#Open
Sele1:
Selenium.open(url);
Sele3:
Webdriver.get(url);
#TYPE
Sele1:
Selenium.type(element,value);
Sele3:
WebElement.sendKeys(value);
#CLICK
Sele1:
Selenium.click(element);
Sele3:
WebElement.click();
#WAIT
Sele1:
Selenium.waitForPageToLoad(timeout);
Sele3:
long timeout=...; try { Thread.sleep(timeout); }catch(InterruptedException e){ e.printStackTrace(); }
#CLICKAT
Sele1:
Selenium.clickAt(element,posString);
Sele3:
WebDriver driver...; Actions builder = new Actions(driver); builder.moveToElement(element, 0, 0).click().build().perform();
#SELECT
Sele1:
Selenium.select(element,value);
Sele3:
WebElement.click();
#KEYPRESS
Sele1:
Selenium.keyPress(element,value);
Sele3:
WebDriver driver..;. Actions action = new Actions(driver); action.sendKeys(value);
#ASSERTTEXTPRESENT
Sele2:
Selenium.isTextPresent(element);
Sele3:
WebDriver.getPageSource().contains(elementtext);
还有很多命令仍然需要对比解析,例如selectAndwait,check,typefilename,AssertElementPresent…
可以结合上面的命令解析和使用,其他命令如 WindowFocus,OpenWindow etc, 我们可以调用JavascriptExecutor 实现 或者 用 Actions类解决更多问题.