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