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

此文主要通过 百度登录 功能,进行 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 的您一份参考。

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

 

你可能感兴趣的:(selenium)