WebDriver拾级而上·之十一 在selenium2.0中使用selenium1.0的API

本文对比了Selenium2.0中WebDriver API与Selenium RC API在页面操作方面的优劣,并通过具体示例展示了如何使用这两种API实现登录功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Selenium2.0中使用WeDriver<wbr>API对页面进行操作,它最大的优点是不需要安装一个selenium<wbr>server就可以运行,但是对页面进行操作不如selenium1.0的Selenium<wbr>RC<wbr>API那么方便。</wbr></wbr></wbr></wbr>

Selenium2.0提供了使用Selenium<wbr>RC<wbr>API的方法:</wbr></wbr>


<wbr><wbr>/</wbr></wbr>/<wbr></wbr>我用火狐浏览器作为例子

<wbr><wbr>WebDriver<wbr>driver<wbr>=<wbr>new<wbr>FirefoxDriver();<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr></wbr></wbr><wbr></wbr>String<wbr>baseUrl<wbr>="http://www.google.com";<wbr></wbr></wbr></wbr>

<wbr><wbr></wbr></wbr><wbr></wbr>Selenium<wbr>selenium<wbr>=<wbr>new<wbr>WebDriverBackedSelenium(driver,<wbr>baseUrl);</wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

<wbr><wbr></wbr></wbr><wbr></wbr>//<wbr></wbr>执行selenium命令

<wbr><wbr></wbr></wbr><wbr></wbr>selenium.open("http://www.google.com");

<wbr><wbr></wbr></wbr><wbr></wbr>selenium.type("name=q",<wbr>"cheese");</wbr>

<wbr><wbr></wbr></wbr><wbr></wbr>selenium.click("name=btnG");

<wbr></wbr>

<wbr><wbr></wbr></wbr><wbr></wbr>WebDriver<wbr>driverInstance<wbr>=<wbr>((WebDriverBackedSelenium)selenium).getUnderlyingWebDriver();</wbr></wbr></wbr>

<wbr><wbr></wbr></wbr><wbr></wbr>selenium.stop();

<wbr></wbr>

分别使用WebDriver<wbr>API</wbr>SeleniumRC<wbr>API</wbr>写了一个Login的脚本,很明显,后者的操作更加简单明了。

(1)WebDriver<wbr>API<span style="font-family:宋体; word-wrap:normal; word-break:normal; line-height:21px">写的</span><span style="font-family:Calibri; word-wrap:normal; word-break:normal; line-height:21px">Login</span><span style="font-family:宋体; word-wrap:normal; word-break:normal; line-height:21px">脚本:</span></wbr>

<wbr><wbr><wbr><wbr>public<wbr>void<wbr>login()<wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>driver.switchTo().defaultContent();</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>driver.switchTo().frame("mainFrame");</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>WebElement<wbr>eUsername=<wbr>waitFindElement(By.id("username"));</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>eUsername.sendKeys(manager@ericsson.com);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>WebElement<wbr>ePassword=<wbr>waitFindElement(By.id("password"));</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>ePassword.sendKeys(manager);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>WebElementeLoginButton<wbr>=<wbr>waitFindElement(By.id("loginButton"));</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr>eLoginButton.click();</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>

(2)SeleniumRC<wbr>API<span style="font-family:宋体; word-wrap:normal; word-break:normal; line-height:21px">写的</span><span style="font-family:Calibri; word-wrap:normal; word-break:normal; line-height:21px">Login</span><span style="font-family:宋体; word-wrap:normal; word-break:normal; line-height:21px">脚本:</span></wbr>

<wbr><wbr><wbr><wbr>public<wbr>void<wbr>login()<wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>selenium.selectFrame("relative=top");</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>selenium.selectFrame("mainFrame");</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>selenium.type("username","manager@ericsson.com");</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>selenium.type("password","manager");</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>selenium.click("loginButton");</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值