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

      

    }
相關文章
相關標籤/搜索