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

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

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

}

python selenium翻页_Selenium翻页的实现方法实例相关推荐

  1. 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法

    by Joyz 通过乔伊斯 在Docker中使用Python Selenium和Headless Chrome进行网站自动化测试的方法 (A recipe for website automated ...

  2. python selenium 处理弹窗_Selenium自动化发布话题,以及获取window.showModalDialog()弹窗对象(Python实现)...

    折腾了一下自动化测试,找到了阿里开源的一个 uirecorder ,可以自动录制测试过程,但自定义逻辑有些麻烦 然后发现这货是基于 selenium 实现的,于是就开始折腾起了 selenium,弄出 ...

  3. Python+selenium 自动化-mac下安装配置chrome驱动方法

    我的 Python 版本有两个,先通过 which 看一下对应版本的位置. 然后找到 python 安装目录里的 bin 文件夹,把对应的驱动放里面就好了. 如果不知道怎么匹配对应 chrome 版本 ...

  4. python selenium UI自动化解决验证码的4种方法

    测试环境 windows7+ firefox50+ geckodriver # firefox浏览器驱动 python3 selenium3 selenium UI自动化解决验证码的4种方法:去掉验证 ...

  5. Python+selenium 实现自动上传并发布抖音短视频实例演示

    Python+Selenium自动化  ---- 抖音短视频发布 1.素材准备   素材展示 2.实现过程   调用已启用的浏览器   上传视频和图片   完整源码展示 素材展示 实现过程 一个为视频 ...

  6. python json转换字典_Python json转字典字符方法实例解析

    josn基本操作 1.导入import json 2.字典转json:json.dumps(dict,ensure_ascii=False),加,ensure_ascii=False转换之后无中文乱码 ...

  7. Python+selenium 抓取美团单页接口数据里的用户评论和用户名称以及打分数据

    一.原理 selenium的原理很简单,就是模拟人对浏览器的操作,人是怎么操作的,在编写代码时就以这个为逻辑来进行编写.编写起来很是简单,并且也能够很容易纠错. 缺点是,速度比较慢,抓取起来耗时,并且 ...

  8. python selenium 关闭窗口_Selenium快速上手实战 | 上篇

    前言 Selenium是一个用于Web应用程序的自动化测试工具.它直接运行在浏览器中,可以模拟用户在浏览器上面的行为操作. 在AirtestIDE中,开发者也给我们提供了使用Selenium的窗口.不 ...

  9. python selenium模拟键盘_SELENIUM自动化模拟键盘快捷键操作实现解析

    这篇文章主要介绍了SELENIUM自动化模拟键盘快捷键操作实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 平常我们会用到很多快捷键,那么se ...

最新文章

  1. 面试 4 个月,最终入职大厂经验分享!
  2. caffe-builder相关资料
  3. 华为鸿蒙系统如何申请尝鲜,鸿蒙OS 2.0公测尝鲜来咯
  4. 如何查看linux中文件打开情况
  5. 通过configSource提高web.config配置灵活性
  6. java 浏览器 爬虫_java 网络编程-爬虫+模拟浏览器
  7. lte核心网由哪些设备组成_电气设备安装工程由哪些部分组成?
  8. C语言OJ项目参考(2963) 判断三角形
  9. elasticsearch 基础 —— Jion父子关系
  10. linux安装网卡驱动make报错,linux 安装网卡驱动详解
  11. javafx 教程_新的JMetro JavaFX 11兼容版本
  12. EFM32片内外设--VCMP 基本操作
  13. 中国移动家庭智能网关超级账号密码(广西桂林)
  14. 【java毕业设计】基于java+SSH+jsp的酒水销售系统设计与实现(毕业论文+程序源码)——酒水销售系统
  15. react+antd的后台管理项目模板
  16. 100以内的质数(素数)
  17. isp调试linux程序,相机isp调试 - Linux - Firefly开源社区相机isp调试
  18. SAP中输出采购订单PO中基于收货GR的发票校验IV清单
  19. rust卡领地柜权限_rust一个领地柜有多大范围 | 手游网游页游攻略大全
  20. 安装2021b报错-找不到 ‘D:\MATLAB2021b\bin\win64\hg.dll‘ 所需的资源文件 ‘toolbox/matlab/graphics/hg/hgrc.m‘

热门文章

  1. c语言中三种常用的循环控制结构是,三C语言的基本控制结构.ppt
  2. z-blog php 静态设置,Nginx的Z-Blog的伪静态配置方法
  3. 基于JAVA+SpringMVC+Mybatis+MYSQL的房屋租赁系统
  4. 基于JAVA+Servlet+JSP+MYSQL的旅游酒店机票预订管理系统
  5. linux终端安装mingw编译器_C/C++编译器MinGW的安装与配置
  6. 标自然段的序号格式_你可能还不会基本的公文格式
  7. 剑指offer:序列化二叉(前序遍历+层次)
  8. 4.namespace
  9. 基于JAVA的IKAnalyzer中文分词运用
  10. 实验吧web-中-忘记密码了