Selenium翻页的实现方法&实例

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

第一步:在基础类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);

      

    }

 

转载于:https://my.oschina.net/u/2315260/blog/808223

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值