selenium断言遇到的问题

数据新增-断言方式

 1. 新增数据成功的时候会显示操作成功的提示词,断言 “提示词内容”判断是否执行成功2. 新增数据时,总数会增加,通过断言 初始值+1 = 最终值 判断是否执行成功3. 通过新增数据的某一项值进行断言4. 读取数据库信息是否有该条数据进行断言

这里我采取的是第二种方式,然后我就遇到了一个问题,在获取总数的时候,如果不设置强制停止时间的,在获取数量的时候最终值会与初始值一致。类似图如下:想法是,开始获取数量 = 50 ,新增数据后获取数量 = 51,断言 50 +1 = 51 即可说明数据新增成功.

init_total = driver.find_element_by_xpath('//span[@class="el-pagination__total"]').text
init_number = int(re.findall(r'\d+', init_total)[0])
print("这是初始值:{}".format(init_number))add_button = (By.XPATH, '//div[@class="ben"]/button/span')
try:ele = get_element(driver, add_button)ele.click()
except Exception as e:print(e)driver.quit()
try:factory_num = driver.find_element_by_xpath('//div[@class="el-form-item__content"]/div/input')factory_num.send_keys('001')factory_name = driver.find_element_by_xpath('//div[@class="el-dialog__body"]/form/div[2]/div/div/input')factory_name.send_keys('001')factory_description = driver.find_element_by_xpath('//*[@id="avue-view"]/div/div/div[4]/div/div[2]/form/div[3]/div/div/textarea')factory_description.send_keys('001')button = driver.find_element_by_xpath('//div[@class="el-dialog__footer"]/span/button[2]/span')button.click()# 需要设置等待时间不然数据更新获取不到....想想有木有解决方法time.sleep(1)total = driver.find_element_by_xpath('//span[@class="el-pagination__total"]').text# re匹配出来是存放在列表number = int(re.findall(r'\d+', total)[0])print("这是最终值:{}".format(number))assert number == init_number+1,"数量不相等"driver.quit()
except Exception as e:print(e)print('异常了?')driver.quit()

总结:亲测,第一种判断方式进行断言就可以做到不需要设置等待时间了,第二种方式设置显隐性等待都会导致数值等量,不知道是不是读取问题!大写尴尬了,不过好在不在一颗树上吊死的原则成功突围。

Selenium_python 断言相关推荐

  1. Go 学习笔记(35)— Go 接口 interface (接口声明、接口初始化、接口方法调用、接口运算、类型断言、类型查询、空接口)

    1. 接口概念 接口是双方约定的一种合作协议.接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节.接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式.类型及结构. 接口内部存 ...

  2. php preg_match 只匹配第一个字符_PHP正则表达式核心技术完全详解 第12节知识补充 断言匹配

    作者:极客小俊 一个专注于web技术的80后 你不用拼过聪明人,你只需要拼过那些懒人 你就一定会超越大部分人! PHP正则中的断言匹配 我遇见过很多初学者都不知道什么叫 断言匹配 ,今天就跟小白解释一 ...

  3. java三段式if_Java几种常用的断言风格你怎么选?

    日常工作中,不管你是写Unit Test,还是采用TDD的编程方式进行开发,都会遇到断言.而断言的风格常见的会有Assert.BDD风格,对于这些常见的断言风格你怎么选择呢? 01 Assert风格 ...

  4. eclipse 中断言使用的设定

    JAVA是从JDK1.4才开始支持断言的(添加了关键字assert) 选择菜单"Windows"->"Perferences",在对话框中找到" ...

  5. Google Test(GTest)使用方法和源码解析——断言的使用方法和解析

    在之前博文的基础上,我们将介绍部分断言的使用,同时穿插一些源码.(转载请指明出于breaksoftware的csdn博客) 断言(Assertions) 断言是GTest局部测试中最简单的使用方法,我 ...

  6. Python assert断言函数及用法

    Python assert断言函数及用法 Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行:反之,Pyt ...

  7. day34 异常处理、断言、socket之ftp协议

    Python之路,Day20 = 异常处理.断言.socket之ftp协议 参考博客:http://www.cnblogs.com/metianzing/articles/7148191.html 1 ...

  8. 安全性断言标记语言(SAML)介绍

    简介 安全是所有Web项目在设计时都要考虑的一个重要因素.无论是选择最短口令,决定何时使用SSL加密HTTP会话,还是通过自动登录cookie来识别用户,都经常要付出重大的设计努力,以保护用户的身份信 ...

  9. Jmeter工具中参数化、正则表达式提取器、响应断言的实现

    参数化.正则表达式提取器.响应断言的实现 1.实现参数化 2.正则表达式提取器 3.响应断言 上一篇文章实现了用Jmeter工具实现了新增用户和学员登录两个功能,这篇文章将对前两个功能进行优化. 1. ...

  10. Java中的断言(assert)

    为什么80%的码农都做不了架构师?>>>    一.语法形式:     Java2在1.4中新增了一个关键字:assert.在程序开发过程中使用它创建一个断言(assertion), ...

最新文章

  1. 5G时代来临,高通如何让AI触手可及?
  2. 【数字信号处理】基本序列傅里叶变换总结 ( 单位脉冲序列 δ(n) | {1} 序列 | e^jωn 序列 | cosωn 序列 | sinωn 序列 | a^nu(n) | 矩形窗函数 ) ★★★
  3. Unity3D如何有效地组织代码?(转)
  4. android上最好的linux终端,如何在带有Termux的Android上使用Linux命令行 | MOS86
  5. 设置不显示用户名和主机名_谁说Excel中不可以有聚光灯效果:Excel高亮显示设置...
  6. ACCESS的十种数据类型分别对应的添加语句
  7. sudo su 和sudo -s的区别
  8. Ceph 撸源码系列(一):Ceph开源项目源代码的关键目录介绍
  9. java 视频处理_Java结合FFmpeg实现视频处理
  10. 软件测试界的三无简历,企业拿什么来招聘你,石沉大海的简历
  11. Adobe Photoshop裁剪和拉直照片改善构图
  12. 爬虫 爬取百思不得姐网站
  13. dede分类名称_dede常用标签分类整理
  14. [Serializable]在C#中的作用-NET 中的对象序列化
  15. linux mint安装搜狗输入法
  16. scp拷贝文件报错-bash: scp: command not found
  17. Windows 注册表操作 reg 命令详解
  18. 项目该如何着手_着手服务组件架构
  19. 如何使用物联网低代码平台进行数据分析?
  20. centos安装Libzip

热门文章

  1. android 画布抗锯齿,怎么在Android应用中利用paint与Canvas实现抗锯齿效果
  2. vue 浏览器页面刷新
  3. SuperMap iObject入门开发系列七管线横断面分析
  4. 利用NMDS对药物处理下肠道菌群微生物群落多态性分析
  5. AUTOCAD——窗口缩放
  6. 沪深交易所的集合竞价机制
  7. GlusterFS企业级功能之EC纠删码
  8. win7计算机桌面文件位置更改,Win7系统怎么更改桌面文件路径_win7修改桌面文件保存路径的方法...
  9. 方差标准差,均方误差均方根误差,平均绝对误差
  10. 管理好项目——带好技术团队的秘籍