自动化测试题目某旅游网站题目
import java.util.ArrayList;
import java.util.Calendar;
import 
java.util.List;
import java.util.Random;
import java.util.Date;
import 
java.text.DateFormat;
import java.text.SimpleDateFormat;
import javax.swing.Spring;
import junit.framework.Assert;
import org.openqa.selenium.By;
import 
org.openqa.selenium.JavascriptExecutor;
import 
org.openqa.selenium.WebDriver;
import 
org.openqa.selenium.WebElement;
import 
org.openqa.selenium.chrome.ChromeDriver;
import 
org.openqa.selenium.firefox.FirefoxDriver;
public class SeleniumHelper {
	public static void main(String[] arg) {
		// 组和100组 
数据
System.setProperty(
				"webdriver.chrome.driver",
				"C:\\Users\\Administrator.PC-20121111FEJF\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
// C:\Users\Administrator.PC-20121111FEJF\AppData\Local\Google\Chrome\Application
		List cityist = new 
ArrayList<String>();
		cityist.add("北京");
cityist.add("上海");
cityist.add("昆明");
cityist.add("西安");
cityist.add("广州");
cityist.add("南京");
cityist.add("重庆");
cityist.add("大连");
cityist.add("青岛");
cityist.add("郑州");
cityist.add("成都");
int maxIteration = 1;
		// 总验证次数
for (int index = 0; index < 
cityist.size(); index++) {
			String sCityname = (String) 
cityist.get(index);
			for (int indexECity = 1; indexECity < 
cityist.size(); indexECity++) {
				String eCityname = (String) cityist.get(indexECity);
				if 
(maxIteration > 3) {
					// 
最大次数,退出,防止无限制的迭代
break;
				}
				Date current = new Date();
				Calendar c = getSpecifiedDay(7);
				try 
{
					validateWebPage(sCityname, eCityname, current, c.getTime());
				} 
catch (InterruptedException e) {
					// TODO Auto-generated catch 
block
					e.printStackTrace();
				}
				maxIteration++;
			}
}
}
	/**
	 * @param step
	 * @return
	 */
	private static Calendar 
getSpecifiedDay(int step) {
		Calendar c = 
Calendar.getInstance();
		c.add(Calendar.DAY_OF_MONTH, step);
		return 
c;
	}
	/**
	 * @param driver
	 */
	private static void 
setSngStatus(WebDriver driver) {
		WebElement sngWebElement = 
driver.findElement(By.id("searchTypeSng"));
		sngWebElement.click();
	}
	// 执行规则验证
	private static void validateWebPage(String sCityName, String 
eCityName,
			Date sDate, Date eDate) throws InterruptedException 
{
		WebDriver driver = new 
ChromeDriver();
		driver.get("http://flight.qunar.com");
setSngStatus(driver);// 保证选择单选
WebElement sinput = 
driver.findElement(By.name("fromCity"));
		sinput.sendKeys(sCityName);
		WebElement 
einput = 
driver.findElement(By.name("toCity"));
		einput.sendKeys(eCityName);
		WebElement 
sDateinput = 
driver.findElement(By.name("fromDate"));
		sDateinput.sendKeys(getStringFromDate(sDate));
		// 
显示数据,将不可用的状态的控件改为可用
((JavascriptExecutor) 
driver)
				.executeScript("$(\"#dom_arrivalDateDiv_disable\").click()");
		WebElement 
eDateinput = 
driver.findElement(By.name("toDate"));
		eDateinput.clear();
		eDateinput.sendKeys(getStringFromDate(eDate));
		WebElement 
submitCtl = 
driver.findElement(By.className("btn_txt"));
		submitCtl.submit();// 
发送请求
Thread.sleep(1000);// 页面等待1分钟
List<WebElement> feeEveryParts = 
driver.findElements(By
				.cssSelector("span.highlight"));
if (feeEveryParts == null) {
			WebElement emptyMark = 
driver
					.findElement(By.className("e_fly_lst"));
			Assert.assertEquals(emptyMark 
== null, "没有找到提示信息");
return;
}
		WebElement feeEveryPart = 
driver.findElement(By
				.cssSelector("span.highlight"));
		WebElement lineAClick = driver
				.findElement(By.className(".b_avt_lst 
a"));
		lineAClick.click();
		// 分析结果
if (feeEveryPart != null) 
{
			// 此时,有AB2端
List<WebElement> elements = 
driver.findElements(By
					.cssSelector(".e_qvt_route h3"));
			Boolean 
first = elements.get(0).getText().contains("第一");
Assert.assertEquals(first, 
"提示信息错误");
Boolean sencond = 
elements.get(1).getText().contains("第二");
Assert.assertEquals(sencond, 
"提示信息错误");
		} else {
			// 没有航费
// 有查查询列表
WebElement priceRange = 
driver.findElement(By
					.cssSelector("qvt_col_more"));
			if (priceRange != null) {
				String contente = 
priceRange.getText();
				Assert.assertEquals(contente.contains("报价范围"), 
"发生错误");
			}
}
WebElement result = (WebElement) ((JavascriptExecutor) 
driver)
				.executeScript("var query= $(\".e_qvt_hd\"); return query;");
Assert.assertEquals(result == null, "发生错误");
driver.quit();
}
	/**
	 * @param eDate
	 * @return
	 
*/
	@SuppressWarnings("deprecation")
	private static String 
getStringFromDate(Date eDate) {
		return 
DateFormat.getDateInstance(DateFormat.DEFAULT).format(eDate);
}
	// 获取随机数
	private static int getSpecifiedRandom(int inputNo) {
		if 
(inputNo <= 0)
			inputNo = 10;
		Random random = new 
Random();
		return random.nextInt(inputNo);
	}
}
不行了,实在困了。先写到这吧,欢迎大家批评啊。算是抛砖引玉,代码的实现不好啊,架构啊,方法名什么的都没考虑啊。以后在优化吧。
