一、selenium rc + eclipse + firefox
step1 下载所需文件
1.eclipse,安装java jdk
要验证jdk有没有安装成功,在命令行输入java,如果有一堆东西输出,则说明安装成功。如果输出不是内外部变量,则需要在环境变量中配置path:如D:\Program Files (x86)\Java\jdk1.6.0_43\bin。
2.下载selenium rc 下载地址:http://docs.seleniumhq.org/download/previous.jsp#selenium-rc-previous-downloads
3.下载junit4,从网上搜就能搜到了
step 2 打开selenium,新建一个java项目,导入外部归档(右键项目/构建路径/添加外部归档),添加以下三个文件
step 3 第一个selenium case
package testrenren.com;
import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class testloginandout {
private WebDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
System.setProperty("webdriver.firefox.bin", "E:\\源文件\\Mozilla Firefox\\firefox.exe");
driver = new FirefoxDriver();
baseUrl = "http://www.renren.com";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testLog() throws Exception {
driver.get(baseUrl + "/");
driver.findElement(By.cssSelector("body")).click();
driver.findElement(By.id("email")).click();
driver.findElement(By.id("email")).clear();
driver.findElement(By.id("email")).sendKeys("email@163.com");
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys("password");
driver.findElement(By.id("login")).click();
// ERROR: Caught exception [ERROR: Unsupported command [selectWindow | name=33 | ]]
driver.findElement(By.cssSelector("span.menu-title-text")).click();
// ERROR: Caught exception [ERROR: Unsupported command [selectWindow | name=33 | ]]
driver.findElement(By.cssSelector("#showProfileMenu > span.menu-title-text")).click();
// ERROR: Caught exception [ERROR: Unsupported command [selectWindow | name=33 | ]]
driver.findElement(By.id("accountMenu")).click();
// ERROR: Caught exception [ERROR: Unsupported command [selectWindow | name=33 | ]]
driver.findElement(By.xpath("//div[@id = 'accountDropDownMenu']//a[contains(@class, 'logout')]")).click();
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
private boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
private String closeAlertAndGetItsText() {
try {
Alert alert = driver.switchTo().alert();
String alertText = alert.getText();
if (acceptNextAlert) {
alert.accept();
} else {
alert.dismiss();
}
return alertText;
} finally {
acceptNextAlert = true;
}
}
}