此文主要通過 百度登錄 功能,進行 Selenium2 的實戰實例講解。文中所附源代碼于 2015-01-17 23:33 親測通過,敬請親們閱覽。 同時,您也可參考此文進行其他網站(例如 京東、易迅、天貓等)的登錄(一般登錄流程基本相同,若需填寫驗證碼,因目前驗證碼識別不方便,初始學習時可讓腳本運行到添加驗證碼時人工輸入。在單位進行此部分的自動化腳本編寫時,最好取得開發的支持使用萬能驗證碼,方便腳本編寫),進行編寫登錄自動化測試腳本, 若您直接使用此文所附的源代碼運行測試,則需要將文中 賬戶名和密碼 替換為正確的用戶名和密碼,否則腳本運行過程中會因登錄用戶名元素無法獲取而報錯,請知悉。
希望能對初學 Selenium2 WebUI 自動化測試編程的親們有所幫助。若有不足之處,敬請大神指正,不勝感激!
百度登錄 WebUI 自動化功能測試腳本 實現功能步驟如下所示:
-
- 啟動 Chrome 瀏覽器, 并最大化窗口
- 打開百度網址:www.baidu.com
- 點擊登錄按鈕
- 輸入賬戶和密碼
- 點擊登錄按鈕
- 獲取登錄用戶名, 并輸出登錄用戶名
- 關閉瀏覽器
夜已深了,鬼話少述,直接上源代碼了。 百度登錄 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("http://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 }
?
至此, WebUI 自動化功能測試腳本 第 002 篇- 百度登錄 順利完結,希望此文能夠給初學 Selenium 的您一份參考。
最后,非常感謝親的駐足,希望此文能對親有所幫助。熱烈歡迎親一起探討,共同進步。非常感謝! ^_^
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
