码迷,mamicode.com
首页 > Web开发 > 详细

Selenium2学习-004-WebUI自动化实战实例-002-百度登录

时间:2015-01-18 00:43:22      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

此文主要通过 百度登录 功能,进行 Selenium2 的实战实例讲解。文中所附源代码于 2015-01-17 23:33 亲测通过,敬请亲们阅览。同时,您也可参考此文进行其他网站(例如 京东、易迅、天猫等)的登录(一般登录流程基本相同,若需填写验证码,因目前验证码识别不方便,初始学习时可让脚本运行到添加验证码时人工输入。在单位进行此部分的自动化脚本编写时,最好取得开发的支持使用万能验证码,方便脚本编写),进行编写登录自动化测试脚本,若您直接使用此文所附的源代码运行测试,则需要将文中 账户名和密码 替换为正确的用户名和密码,否则脚本运行过程中会因登录用户名元素无法获取而报错,请知悉。

希望能对初学 Selenium2 WebUI 自动化测试编程的亲们有所帮助。若有不足之处,敬请大神指正,不胜感激!

百度登录 WebUI 自动化功能测试脚本实现功能步骤如下所示:

    1. 启动 Chrome 浏览器, 并最大化窗口
    2. 打开百度网址:www.baidu.com
    3. 点击登录按钮
    4. 输入账户和密码
    5. 点击登录按钮
    6. 获取登录用户名, 并输出登录用户名
    7. 关闭浏览器

夜已深了,鬼话少述,直接上源代码了。百度登录 WebUI 自动化功能测试脚本 源代码如下所示:

技术分享
  1 /**
  2  * Aaron.ffp Inc.
  3  * Copyright (c) 2014-2015 All Rights Reserved.
  4  */
  5 package main.java.aaron.selenium;
  6 
  7 import java.util.concurrent.TimeUnit;
  8 
  9 import org.openqa.selenium.By;
 10 import org.openqa.selenium.WebDriver;
 11 import org.openqa.selenium.WebElement;
 12 import org.openqa.selenium.chrome.ChromeDriver;
 13 
 14 /**
 15  * WebUI自动化功能测试脚本-002:百度登录
 16  * 
 17  * 实现的百度搜索功能步骤描述如下:
 18  *   1.启动 Chrome 浏览器, 并最大化窗口
 19  *   2.打开百度网址:www.baidu.com
 20  *   3.点击登录按钮
 21  *   4.输入账户和密码
 22  *   5.点击登录按钮
 23  *   6.获取登录用户名, 并输出登录用户名
 24  *   7.关闭浏览器
 25  * @author Aaron.ffp
 26  * @version $Id: LoginBaidu.java, v 0.1 2015年1月16日 上午12:30:03 Aaron.ffp Exp $
 27  */
 28 public class BaiduLogin {
 29     private static WebDriver cd;
 30     private static String baseUrl;          // 百度首页网址
 31     private static WebElement lnk_login;    // 页面元素:登录链接
 32     private static WebElement txt_username; // 页面元素:账户录入框
 33     private static WebElement txt_userpass; // 页面元素:密码录入框
 34     private static WebElement btn_login;    // 页面元素:登录按钮
 35     private static WebElement loginname;    // 页面元素:登录用户名
 36     
 37     /**
 38      * 测试主入口
 39      * @param args
 40      * @throws InterruptedException
 41      */
 42     public static void main(String[] args) throws InterruptedException{
 43         chromeStart();
 44         
 45         baiduLogin();
 46         
 47 //        chromeQuit();
 48     }
 49     
 50     /**
 51      * 功能:Chrome WebDriver 设置, 网址及搜索内容初始化, 打开 Chrome 浏览器, 并最大化
 52      */
 53     public static void chromeStart(){
 54         /* 设定 chrome webdirver 的位置 */
 55         System.setProperty("webdriver.chrome.driver", "C:/Windows/System32/chromedriver.exe");
 56         /* 百度首页网址赋值 */
 57         baseUrl = "http://www.baidu.com/";
 58         /* 启动 chrome 浏览器 */
 59         cd = new ChromeDriver();
 60         /* chrome 浏览器最大化 */
 61         cd.manage().window().maximize();
 62     }
 63     
 64     /**
 65      * 功能:百度登录主方法
 66      * 
 67      * @throws InterruptedException
 68      */
 69     public static void baiduLogin() throws InterruptedException{
 70         /* 打开百度首页 */
 71         cd.get(baseUrl);
 72         /* 获取登录链接元素 */
 73         lnk_login = cd.findElement(By.xpath("//div[@id=‘u1‘]/a[6]"));
 74         /* 点击登录链接 */
 75         lnk_login.click();
 76         
 77         /* 等待 1s, 待网页加载完成再操作页面元素, 否则录入框元素查找时会报错:No such element */
 78         TimeUnit.SECONDS.sleep(1);
 79         
 80         /* 输出当前网址 */
 81         System.out.println(cd.getCurrentUrl().toString());
 82         
 83         /* 获取元素:账户录入框 */
 84         txt_username = cd.findElement(By.id("TANGRAM__PSP_8__userName"));
 85         /* 获取元素:密码录入框 */
 86         txt_userpass = cd.findElement(By.id("TANGRAM__PSP_8__password"));
 87         /* 获取元素:登录按钮*/
 88         btn_login = cd.findElement(By.id("TANGRAM__PSP_8__submit"));
 89         
 90         /* 清空账户和密码(消除浏览器表单记录的影响), 并输入账户和密码 */
 91         txt_username.clear();
 92         txt_userpass.clear();
 93         txt_username.sendKeys("TANGRAM__PSP_8__userName"); // 此处需要在使用时, 替换为正确的账号 
 94         txt_userpass.sendKeys("TANGRAM__PSP_8__userName"); // 此处需要在使用时, 替换为正确的密码
 95         
 96         /* 点击登录按钮 */
 97         btn_login.click();
 98         
 99         TimeUnit.SECONDS.sleep(2);
100         
101         /* 获取登录用户名, 获取的用户明确可用于校验登录用户是否正确无误 */
102         loginname = cd.findElement(By.className("user-name"));
103         
104         /* 打印登录账户名 */
105         System.out.println(loginname.getText());
106     }
107     
108     /**
109      * 关闭并退出 Chrome
110      */
111     public static void chromeQuit(){
112         /* 关闭 chrome */
113         cd.close();
114         /* 退出 chrome */
115         cd.quit();
116     }
117 }
View Code

 

至此,WebUI 自动化功能测试脚本第 002 篇-百度登录 顺利完结,希望此文能够给初学 Selenium 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

 

Selenium2学习-004-WebUI自动化实战实例-002-百度登录

标签:

原文地址:http://www.cnblogs.com/fengpingfan/p/4231323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!