1.简介
前几天,有人私信里留言问宏哥,分页怎么自动化测试了,完了给他说了说思路,不知道最后搞定没有,索性宏哥就写一篇文章来讲解和介绍如何处理分页。
2.测试场景
对分页来说,我们最感兴趣的和测试的无非就是下面几个信息: (1)当前总共有多少页(因为有时候当前是6页但是点击下一个前边的消失后边的页码就会出现了,总数大于当前页数) (2)当前是第几页 (3)是否可以上一页和下一页点击
3.自动化实战
宏哥发现了一个有用的小网站,在这里可以找到各种各样的实例,宏哥就再也不用自己写demo了,网站地址:https://www.jq22.com
3.1代码设计
3.2参考代码
代码语言:javascript复制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 %dn", 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 %sn", current_page.getText());
Thread.sleep(1000);
System.out.println("browser will be close");
driver.quit();
}
}
3.2运行代码
1.运行代码,右键Run AS->Java Appliance,控制台输出,如下图所示:
4.小结
到此分页自动化测试就实现了,其实很简单的。好了,今天时间不是很早了,宏哥就讲解和分享到这里,感谢您耐心的阅读!!!