Selenium翻页的实现方法&实例

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

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

代码以下:app

    //若按主键排序,当数据大于 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()。yii

代码以下:ide

//翻页
this.getPageCountFlip(driver);

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

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

代码以下:code

    @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);

      

    }
相关文章
相关标签/搜索