悠悠小仙仙 发表于 2017-7-14 11:33:19

【转帖】WebDriver拾级而上(11) – 在selenium2.0中使用selenium1.0的API


Selenium2.0中使用WeDriver API对页面进行操作,它最大的优点是不需要安装一个selenium server就可以运行,但是对页面进行操作不如selenium1.0的Selenium RC API那么方便。
Selenium2.0提供了使用Selenium RC API的方法:
CODE:
<font size="4">// 我用火狐浏览器作为例子
WebDriver driver = new FirefoxDriver();
String baseUrl ="http://www.google.com";
Selenium selenium = new WebDriverBackedSelenium(driver, baseUrl);

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

WebDriver driverInstance = ((WebDriverBackedSelenium)selenium).getUnderlyingWebDriver();
selenium.stop();</font>
分别使用WebDriver API和SeleniumRC API写了一个Login的脚本,很明显,后者的操作更加简单明了。
(1)WebDriver API写的Login脚本:
CODE:
<font size="4">public void login() {
    driver.switchTo().defaultContent();
    driver.switchTo().frame("mainFrame");

    WebElement eUsername= waitFindElement(By.id("username"));
    eUsername.sendKeys(manager@ericsson.com);

    WebElement ePassword= waitFindElement(By.id("password"));
    ePassword.sendKeys(manager);

    WebElementeLoginButton = waitFindElement(By.id("loginButton"));
    eLoginButton.click();
}</font>
(2)SeleniumRC API写的Login脚本:
CODE:
<font size="4">public void login() {
    selenium.selectFrame("relative=top");
    selenium.selectFrame("mainFrame");
    selenium.type("username","manager@ericsson.com");
    selenium.type("password","manager");
    selenium.click("loginButton");
}</font>

巴黎的灯光下 发表于 2017-7-14 15:11:14

要跟楼主在测试的道路上越走越远;P
页: [1]
查看完整版本: 【转帖】WebDriver拾级而上(11) – 在selenium2.0中使用selenium1.0的API