《手把手教你》系列技巧篇(五十八)-java+ selenium自動化測試-分頁測試(詳細教程)


1.簡介

  前幾天,有人私信里留言問宏哥,分頁怎么自動化測試了,完了給他說了說思路,不知道最后搞定沒有,索性宏哥就寫一篇文章來講解和介紹如何處理分頁。

2.測試場景

對分頁來說,我們最感興趣的和測試的無非就是下面幾個信息:
(1)當前總共有多少頁(因為有時候當前是6頁但是點擊下一個前邊的消失后邊的頁碼就會出現了,總數大於當前頁數)
(2)當前是第幾頁
(3)是否可以上一頁和下一頁點擊

3.自動化實戰

宏哥發現了一個有用的小網站,在這里可以找到各種各樣的實例,宏哥就再也不用自己寫demo了,網站地址:https://www.jq22.com

3.1代碼設計

3.2參考代碼

package lessons;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

/**
 * @author 北京-宏哥
 * 
 * @公眾號:北京宏哥
 * 
 * 《手把手教你》系列技巧篇(五十三)-java+ selenium自動化測試-處理分頁(詳細教程)
 *
 * 2021年12月17日
 */
public class Pagination {
    
    public static void main(String[] args) throws InterruptedException {
        
        System.setProperty("webdriver.gecko.driver", ".\\Tools\\chromedriver.exe");

        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();          
        driver.get("https://www.jq22.com/yanshi23657");
        Thread.sleep(1000);
        driver.switchTo().frame("iframe");
        //獲得所有分頁的數量
        //-4是因為要去掉首頁、上一個(«)和下一個(»)
        int total_pages = (driver.findElement(By.id("page")).findElements(By.tagName("li")).size())-4;
        System.out.printf("Total page is %d\n", total_pages);
        
        for(int i=0;i<total_pages;i++){
            driver.findElement(By.xpath("//div[@id='page']/ul/li[8]")).click();
            Thread.sleep(3000);
        }
                
        //取當前頁面的url以及當前頁面是第幾頁
        WebElement current_page = driver.findElement(By.id("page")).findElement(By.className("active"));
        System.out.printf("Current page is %s\n", current_page.getText());
        
        
                
        Thread.sleep(1000);
        System.out.println("browser will be close");
        driver.quit();    
    }

}

3.2運行代碼

1.運行代碼,右鍵Run AS->Java Appliance,控制台輸出,如下圖所示:

2.運行代碼后電腦端的瀏覽器的動作,如下小視頻所示:

4.小結

 到此分頁自動化測試就實現了,其實很簡單的。好了,今天時間不是很早了,宏哥就講解和分享到這里,感謝您耐心的閱讀!!!


免責聲明!

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



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