文档章节

Selenium翻页的实现方法&实例

测试龙管家
 测试龙管家
发布于 2016/12/19 11:25
字数 461
阅读 303
收藏 0

在实际测试项目中,会出现新增数据记录不显示在第一页,而是显示最后一页,对于这种情况,那我们要根据每页显示数据数来进行翻页,保证代码能够准确拿到数据文本来做结果比对。

第一步:在基础类BaseTest中,写一个“翻页”方法getPageCountFlip()。

代码如下:

    //若按主键排序,当数据大于 10条记录,即要翻页到尾页才能做后续操作,比如:删除

    public void getPageCountFlip(WebDriver driver){

           WebElement tableInfoElement = driver.findElement(By.cssSelector("#data_table_info .infos"));

           String pageText = tableInfoElement.getText();

           System.out.println("pageText=====" + pageText);

           int index1 = pageText.indexOf("共");

           int index2 = pageText.indexOf("条");

           String pageStr = pageText.substring(index1 + 1, index2);

           if(Integer.valueOf(pageStr.trim())>10){

              WebElement lastpage =driver.findElement(By.cssSelector("#data_table_paginate .pagination .last a"));

              lastpage.click();

           }

      }

第二步:在测试case中,继承BaseTest基础类(extends BaseTest)。在要截图的地方调用“翻页”方法getPageCountFlip()。

代码如下:

//翻页
this.getPageCountFlip(driver);

实例:比如添加角色后,新增的记录显示在最后一页,要比对新增结果是否正确,则要先检查数据列表的数据是否大于10条记录,如果大于10条记录,则翻页到最后一页,再去比对新增结果是否正确。

注意:在翻页前,最好等待时间3秒,保证能够拿到正确的记录数。

代码如下:

    @Test(description="添加角色")

    public void RoleCreateTest() { 

   

       //登录

       YiiLogin yiiLogin = new YiiLogin();

       yiiLogin.login(driver);

      

       //进入角色管理

       YiiOpenRole openrole=new YiiOpenRole();

       openrole.openrole(driver);

      

       //点击添加角色

       YiiRoleCreate rolecreate=new YiiRoleCreate();

       String code =  rolecreate.rolecreate(driver);

      

        //刷新页面

//      WebDriverWait menuwait = new WebDriverWait(driver,40);

//      WebElement menuopenNode = menuwait.until(new ExpectedCondition<WebElement>(){ 

//      @Override 

//          public WebElement apply(WebDriver d) {

//              WebElement menulastProject = driver.findElement(By.cssSelector("#admin-role-search-form"));

//              return menulastProject; 

//            }});

      

       //刷新页面等待时间5秒

        try{

        Thread.sleep(5000);

        }

        catch(Exception e){

        e.printStackTrace();

        }

       

       //翻页

       getPageCountFlip(driver);

      

       //刷新页面,比对结果

        witeForPageRefeshByText(driver, "#data_table > tbody", code,true);

       

        //添加角色完成后截图

        this.screenshot("RoleCreate添加成功.jpg",driver);

      

    }

 

© 著作权归作者所有

测试龙管家
粉丝 25
博文 68
码字总数 31544
作品 0
广州
QA/测试工程师
私信 提问
python利用beautifulsoup+selenium自动翻页抓取网页内容

python利用beautifulsoup+selenium自动翻页抓取网页内容 Uncle Chen2016-12-11446 阅读 python技术爬虫 一、背景 记录一次周末在家速成的爬虫实现之旅。受人之托,想要把这个页面 http://bai...

Uncle Chen
2016/12/11
0
0
Python分布式爬虫前菜(1):关于静态动态网页内容获取的N种方法

爬虫是我们快速获取需要的数据的一个非常有效的途径,而爬虫的第一步便是能够请求远方服务器为我们返回所需的网页信息。我们知道,正常情况下在浏览器上我们只要输入正确的统一资源定位器url...

happengft
2017/03/02
0
0
使用scrapy的定制爬虫-第三章-爬虫的javascript支持

-.-编辑中.我语文是数学老师教的... 后续补充参考代码,链接. 很多网站都使用javascript...网页内容由js动态生成,一些js事件触发的页面内容变化,链接打开.甚至有些网站在没有js的情况下根本不...

斑ban
2013/04/04
0
4
Selenium模拟浏览器抓取淘宝美食信息

声明:此篇文章主要是观看静觅教学视频后做的笔记,原教程地址:https://cuiqingcai.com/ 淘宝页面比较复杂,含有各种请求参数和加密参数,如果直接请求或者分析Ajax将会非常繁琐。Selenium是...

代码打碟手
2018/10/01
0
0
Python手把手教你爬取2000多支优选基金!这才是买基金的正确姿势

  人不理财,财不理你,码农每个月辛辛苦苦的加班熬夜,为了就是那一点加班费,没办法谁叫现在的房价高的离谱呢,手里捧着窝窝头,菜里没有一滴油!有一天在咖啡店遇到了一个叫彼得高手,聊...

菜鸟学Python
2018/08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IDEA中package不能引入依赖的解决方法

在IDEA中, 使用maven打包。出现了package后没有将需要的依赖放入包中, 运行会抛出java.lang.NoClassDefFoundError的异常。 解决办法 在pom.xml中加入: <build> <plugins> ...

dreamness
1分钟前
0
0
IDEA模板

import com.google.common.collect.Lists;import java.util.List;/** * @author hll * @date 2019/5/26 - 13:12 */public class Demo { // 模板五 // prsf -- > ......

一只小青蛙
18分钟前
0
0
9.jackjson使用教程

1.导入相关jar <!-- 10.jackson --> <!--10.1 定义了底层的streaming API和实现了Json特性 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</art......

20190513
22分钟前
0
0
如何使用 rsync 备份 Linux 系统的一些介绍

备份一直是 Linux 世界的热门话题。回到 2017,David Both 为 Opensource.com 的读者在使用 rsync 备份 Linux 系统方面提了一些建议,在这年的更早时候,他发起了一项问卷调查询问大家,在 ...

Linux就该这么学
42分钟前
3
0
以太坊私有链搭建

https://blog.csdn.net/Blockchain_lemon/article/details/80589123

Moks角木
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部