51Testing软件测试论坛

标题: 【转帖】WebDriver拾级而上(11) – 在selenium2.0中使用selenium1.0的API [打印本页]

作者: 悠悠小仙仙    时间: 2017-7-14 11:33
标题: 【转帖】WebDriver拾级而上(11) – 在selenium2.0中使用selenium1.0的API
[attach]107446[/attach]
Selenium2.0中使用WeDriver API对页面进行操作,它最大的优点是不需要安装一个selenium server就可以运行,但是对页面进行操作不如selenium1.0的Selenium RC API那么方便。
Selenium2.0提供了使用Selenium RC API的方法:
CODE:
  1. <font size="4">// 我用火狐浏览器作为例子
  2. WebDriver driver = new FirefoxDriver();
  3. String baseUrl ="http://www.google.com";
  4. Selenium selenium = new WebDriverBackedSelenium(driver, baseUrl);

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

  9. WebDriver driverInstance = ((WebDriverBackedSelenium)selenium).getUnderlyingWebDriver();
  10. selenium.stop();</font>
复制代码

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

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

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

  8.     WebElementeLoginButton = waitFindElement(By.id("loginButton"));
  9.     eLoginButton.click();
  10. }</font>
复制代码

(2)SeleniumRC API写的Login脚本:
CODE:
  1. <font size="4">public void login() {
  2.     selenium.selectFrame("relative=top");
  3.     selenium.selectFrame("mainFrame");
  4.     selenium.type("username","manager@ericsson.com");
  5.     selenium.type("password","manager");
  6.     selenium.click("loginButton");
  7. }</font>
复制代码



作者: 巴黎的灯光下    时间: 2017-7-14 15:11
要跟楼主在测试的道路上越走越远




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2