zoukankan      html  css  js  c++  java
  • 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 的您一份参考。

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

  • 相关阅读:
    SYSTEM32 下的几乎所有文件的简单说明
    Windows2000 下管理员账户真的不安全
    Windows2000 下管理员账户真的不安全
    SYSTEM32 下的几乎所有文件的简单说明
    看看你电脑里面有多少垃圾文件浪费内存
    巧妙利用三招保护局域网中的 IP 地址
    Sun推出OpenSolaris 为技术立异注入生机
    高质量C /C编程指南附录B :C /C试题和答案
    高质量C /C编程指南第8章 C 函数的初级特性
    俄罗斯邮政将迁徙到Linux 有关机构已入手入手测试Linux
  • 原文地址:https://www.cnblogs.com/fengpingfan/p/4231323.html
Copyright © 2011-2022 走看看