首页 > 代码库 > Selenium2学习-004-WebUI自动化实战实例-002-百度登录

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      * 关闭并退出 Chrome110      */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-百度登录