selenium java测试web客户端实例---携程机票预订

  基于selenium + java实现的携程机票预订功能:

 

import java.util.List;


import junit.framework.Assert;


import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;


/*
 * 国内单程机票预订,请严格按照以下流程完成操作: 打开 http://flights.ctrip.com/ 
 * 选择航程:国内 - 单程 输入出发城市,然后按下回车。如:南京 输入到达城市,然后按下回车。如:
 * 北京
 * 输入出发日期,不要按下回车。如:2017-07-01 
 * 选择航班,点击 订票 按钮 选
 * 择舱位,点击 预订 按钮 
 * 如果提示是否登陆,选择 不登陆-直接订票 输入乘机人姓名(你的名字)。如:张三 
 * 注意: 出发、到达城市支持多
 * 种格式,任选以下之一:中文,拼音,机场ICAO代码 出发、到达城市输入后,务必在对应输入框中按下回车
 * 出发日期注意格式 从列表中点选出发城市、到达城市、出发日期不记分
 */
public class Example {


    // Mooctest Selenium 测试脚本样例
    // 你可以在这个文件的基础上编写测试用例


    //  请不要忘记把 JUnit 和 Selenium 库添加到工程编译路径


    @SuppressWarnings("deprecation")
static public void test(WebDriver driver) throws InterruptedException {
        // 在这里写测试脚本,driver为Selenium WebDriver实例
        // eg:driver.get("https://www.baidu.com/")
        // eg:driver.findElement(By.id("wd"));
    
    String url="http://flights.ctrip.com/";
    driver.get(url);//打开URL
    
    //等待广告结束--这一点很重要!
    Thread.sleep(15000);
    
    Assert.assertEquals(driver.getTitle(), "【携程机票】飞机票查询,机票预订,机票价格查询,打折特价机票");
    
    
    //选择国内-单程;默认已经是单程;此处没有分
    //driver.findElement(By.id("radio_D")).click();//往返的选项
    //driver.findElement(By.id("radio_M")).click();//多程的选项
    driver.findElement(By.id("radio_S")).click();//单程的选项
    
    //输入出发城市---中文、拼音、简拼
    WebElement from=driver.findElement(By.id("DepartCity1TextBox"));
    from.click();
    from.sendKeys("南京");//11.11分
    
    //回车
    from.sendKeys(Keys.ENTER);//11.11,现在是22.22
    
    WebElement to=driver.findElement(By.id("ArriveCity1TextBox"));
    to.click();//no point
    to.sendKeys("北京");//11.11
    to.sendKeys(Keys.ENTER);//11.11
        
    //出发日期
    driver.findElement(By.id("DepartDate1TextBox")).sendKeys("2017-07-01");//没办法自己选择,no point
    //返回日期不能输入,否则会变成回返
    //driver.findElement(By.id("ReturnDepartDate1TextBox")).sendKeys("2017-6-25");
    
    driver.findElement(By.xpath("//*[@id='search_box']/div[1]/h3[1]")).click();//点击一下消除日期框,ok,but no point
    
    //搜索
        driver.findElement(By.id("search_btn")).click();//报错
        
    
    //driver.findElement(By.id("DepartDate1TextBox")).sendKeys(Keys.ENTER);
       
    
        
    //选择航班
        driver.findElement(By.xpath("//*[@id='J_flightFilter']/ul/li[2]")).click();;
    driver.findElement(By.xpath("//*[@id='J_flightFilter']/ul/li[2]/div/ul/li[1]/label")).click();    
        
        //仓位
    driver.findElement(By.xpath("//*[@id='J_flightFilter']/ul/li[5]")).click();//*[@id="J_bar_filter"]/li[5]
    driver.findElement(By.xpath("//*[@id='J_flightFilter']/ul/li[5]/div/ul/li[1]/label")).click();
    //*[@id="J_flightFilter"]/ul/li[5]/div/ul/li[1]/label
    
    //订票
        driver.findElement(By.xpath("//*[@id='flight_MU2811']/table/tbody/tr/td[8]/button")).click();
    //预订
    //driver.findElement(By.xpath("//*[@id='flight_MU2811']/table/tbody/tr/td[8]/button")).click();
    driver.findElement(By.xpath("//*[@id='J_flightBookBtn83']")).click();
    //*[@id="J_flightBookBtn83"]
    
    Thread.sleep(10000);
    //不登录,直接预订
    driver.findElement(By.xpath("//*[@id='sso_btnDirectBook']")).click();
    driver.findElement(By.xpath("//*[@id='p_name_0']")).click();
    driver.findElement(By.xpath("//*[@id='p_name_0']")).sendKeys("张三");
    
    
    Thread.sleep(3000);
    }


    static public void main(String[] args) {
        // 你可以直接运行来进行调试,此时不会评分
        WebDriver driver = new ChromeDriver();
        try { test(driver); } 
        catch(Exception e) { e.printStackTrace(); }
        finally { driver.quit(); }
    }


}


PS:测试网站见URL。

 

总感觉这种测试很不靠谱的样子。。。

你可能感兴趣的:(selenium java测试web客户端实例---携程机票预订)