自動化測試Selenium Webdriver (JAVA)學習小結


自動化測試--Selenium學習小結

 

一、自動化測試的概念及意義:

1.什么是自動化測試:

一般是指軟件測試的自動化,軟件測試就是在預設條件下運行系統或應用程序,評估運行結果,預先條件應包括正常條件和異常條件。

2.意義:

讓測試更有效率,利用更多的空余時間,減少人力資源。

 

二、selenium工具

我用的是java語言,所以接下來的例子和方法都是基於java的。

1.環境配置

(1)Jdk的配置;

我用的是1.7的jdk,配置方法都一樣,新建一個JAVA_HOME,把你裝好的jdk的路徑復制過去。

 

在新建一個CLASSPATH,變量值填寫:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

 

然后找到path,沒有就新建一個,在變量值中加上:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(像下圖如果變量值中有內容,前面需加上“;”用來隔開)

 

最后檢驗jdk是否安裝正確,輸入win+R,打開cmd,輸入java -version,得到下圖則說明安裝成功:

(2)Eclipse或者myeclipse工具;

下載三個文件:selenium-java-2.48.2.jar

selenium-java-2.48.2-srcs.jar

Selenium-server-standalone-2.46.0.jar

這三個文件要放到項目的lib中

 

 

 

 

 

 

 

 

 

 

 

 

 

2.瀏覽器:

支持iefirefoxgoogle

二、小試身手

1.打開瀏覽器:

Firefox瀏覽器(我使用的是firefox,后面的例子也是使用的firefox,出錯少,方便使用)

A.如果你的火狐瀏覽器默認安裝的:

 

B.自定義安裝的,需要指定路徑:

 

 
   

 

 

 

 

 

 

Google瀏覽器(需要下載一個Googledriverserver)

 

Ie瀏覽器(需要下載一個iedriverserver

 

 
   

 

2.打開網址(上下文的wd是我自己的命名,可以自己更改)

 

 
   

3.完整的例子:

 
   

三、更具體的運用

1.查找頁面元素

通過idnametext查詢元素

wd.findElement(By.id(""));

wd.findElement(By.name(""));

wd.findElement(By.linkText(""));

 

一般沒有特定要求的頁面元素很多都沒有idname這時候我們就要用到一個強大的查詢語句byxpath

 

例如我們要定位到上圖的圖片,也就是歐曼的圖標,我們用xpath定位:

wd.findElement(By.xpath("//img[contains(@src,'themes/auman/images/logo.png')]"));

2.頁面操作

模擬鼠標點擊:

Wd.click();

關閉網頁:

Wd.close();

清空輸入框中的內容:

Wd.clear();

在輸入框中輸入內容:

Wd.sendKeys(“”);

獲取輸入框中的內容:

Wd.getText();

選擇下拉框中的元素:

Select select = new Select(wd.findElement(By.id("select")));

切換到某個frame

driver.switchTo().frame("");

從一個frame切換到另一個frame

driver.switchTo().frame("");

切換到某個window

driver.switchTo().window("windowName");

返回父iframe:(一般在跳轉frame之前都寫上這個語句

driver.switchTo().defaultContent();

刷新頁面:

wd.navigate().refresh();

頁面前進后退:

wd.navigate().forward();

wd.navigate().back();

懸停鼠標:

 

懸停鼠標可能你覺得為什么需要這個操作,我已歐曼為例子,像這一欄每個車型下都有多個元素,想要找到元素,這個時候就需要模擬鼠標懸停使得隱藏js的讓我們可以找到:

懸停前:

 

懸停后:

 

 

 

 

 

 

 

 

 

 

 

實例:

 

4.設置等待時間:

強行停止:(1000代表1s

Thread.Sleep1000);

全局等待:(單位:s

wd.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

5.得到當前頁面的url

wd.getCurrentUrl();

6.判斷頁面是否跳轉正確

assertEquals("http://mall.aumantruck.com/goods_list/2915/66/add_time/desc/page-1.html",wd.getCurrentUrl());

有各種驗證方法,但是要是能夠證明的特征元素才行,避免出現誤差!可以驗證url是否是你預期的,或者有些頁面元素是你預期會有的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM