Selenium系列之--测试框架断言【转】
selenium提供了三种模式的断言:assert 、verify、waitfor
1)Assert(断言) 失败时,该测试将终止。
2)Verify(验证) 失败时,该测试将继续执行,并将错误记入日志显示屏
3)Waitfor(等待) 用于等待某些条件变为真
如果该条件为真,他们将立即成功执行。如果该条件不为真,则将失败并暂停测试。直到超过当前所设定的超过时间。一般跟setTimeout时间一起使用
常用断言
- assertLocation(判断当前是在正确的页面)
- assertTitle(检查当前页面的 title 是否正确)
- assertValue(检查 input 的值, checkbox 或 radio,有值为”on”无为”off”)
- assertSelected(检查 select 的下拉菜单中选中是否正确)
- assertSelectedOptions(检查下拉菜单中的选项的是否正确)
- assertText(检查指定元素的文本)
- assertTextPresent(检查在当前给用户显示的页面上是否有出现指定的文本)
- assertTextNotPresent(检查在当前给用户显示的页面上是否没有出现指定的文本)
- assertAttribute(检查当前指定元素的属性的值)
- assertTable(检查 table 里的某个 cell 中的值)
- assertEditable(检查指定的 input 是否可以编辑)
- assertNotEditable(检查指定的 input 是否不可以编辑)
- assertAlert(检查是否有产生带指定 message 的 alert 对话框)
- verifyTitle (检查预期的页面标题)
- verifyTextPresent (验证预期的文本是否在页面上的某个位置)
- verifyElementPresent(验证预期的UI元素,它的HTML标签的定义,是否在当前网页上)
- verifyText(核实预期的文本和相应的HTML标签是否都存在于页面上)
- verifyTable(验证表的预期内容)
- waitForPageToLoad(暂停执行,直到预期的新的页面加载)
- waitForElementPresent (等待检验某元素的存在。为真时,则执行)
异常类型
- AssertionError:assert语句失败
- AttributeError:试图访问一个对象没有的属性
- IOError:输入输出异常,基本是无法打开文件
- ImportError:无法引入模块或者包,基本是路径问题
- IndentationError:语法错误,代码没有正确的对齐
- IndexError:下标索引超出序列边界
- KeyError:试图访问字典里不存在的键
- KeyboadrInterrupt:Ctrl+c被按下
- NameError:使用一个还未赋值对象的变量
- SyntaxError:python代码逻辑语法错误,不能执行
- TypeError:传入的对象类型与要求不符
- UnboundLocalError:试图访问一个还未设置的全局变量,基本上是由于另有一个同名的全局变量,导致你以为在访问
- ValueError:传入一个不被期望的值,即使类型正确
UnitTest框架中的断言
(在unittest单元测试框架中,TestCase类提供了一些方法来检查并报告故障)

TestNG框架中的常用的断言
- assertTrue:判断是否为True。
- assertFalse:判断是否为false。
- assertSame:判断引用地址是否相同。
- assertNotSame:判断引用地址是否不相同。
- assertNull:判断是否为null。
- assertNotNull:判断是否不为null。
- assertEquals:判断是否相等,Object类型的对象需要实现haseCode及equals方法。
- assertNotEquals:判断是否不相等。
- assertEqualsNoOrder:判断忽略顺序是否相等。
Selenium系列之--测试框架断言【转】的更多相关文章
- Selenium WebDriver 数据驱动测试框架
Selenium WebDriver 数据驱动测试框架,以QQ邮箱添加联系人为示例,测试框架结构如下图,详细内容请阅读吴晓华编著<Selenium WebDiver 实战宝典>: Obje ...
- Selenium关键字驱动测试框架Demo(Java版)
Selenium关键字驱动测试框架Demo(Java版)http://www.docin.com/p-803493675.html
- <day002>Selenium基本操作+unittest测试框架
任务1:Selenium基本操作 from selenium import webdriver # 通用选择 from selenium.webdriver.common.by import By # ...
- Python&Selenium 关键字驱动测试框架之数据文件解析
摘要:在关键字驱动测试框架中,除了PO模式以及一些常规Action的封装外,一个很重要的内容就是读写EXCEL,在团队中如何让不会写代码的人也可以进行自动化测试? 我们可以将自动化测试用例按一定的规格 ...
- Selenium之unittest测试框架详谈及实操
申明:本文是基于python3.x及selenium3.x. unittest,也可以称为PyUnit,可以用来创建全面的测试套件,可以用于单元自动化测试(模块).功能自动化测试(UI)等等. 官方文 ...
- Google C++测试框架系列:入门
Google C++测试框架系列:入门 原始链接:V1_6_Primer 注 GTest或者Google Test: Google的C++测试框架. Test Fixtures: 这个词实在找不到对应 ...
- 前端测试框架Jest系列教程 -- 简介
写在前面: 随着互联网日新月异的发展,用户对于页面的美观度,流畅度以及各方面的体验有了更高的要求,我们的网页不再是简单的承载文字,图片等简单的信息传递给用户,我们需要的是更加美观的页面展示,更快的浏览 ...
- 前端测试框架Jest系列教程 -- Asynchronous(测试异步代码)
写在前面: 在JavaScript代码中,异步运行是很常见的.当你有异步运行的代码时,Jest需要知道它测试的代码何时完成,然后才能继续进行另一个测试.Jest提供了几种方法来处理这个问题. 测试异步 ...
- 前端测试框架Jest系列教程 -- Mock Functions
写在前面: 在写单元测试的时候有一个最重要的步骤就是Mock,我们通常会根据接口来Mock接口的实现,比如你要测试某个class中的某个方法,而这个方法又依赖了外部的一些接口的实现,从单元测试的角度来 ...
随机推荐
- spring注解开发-声明式事务(源码)
1. 环境搭建与测试 1)导入相关依赖 数据源.数据库驱动.Spring-jdbc模块 <dependency> <groupId>org.springframework< ...
- FFT NTT 模板
NTT: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; # ...
- 文艺平衡树(splay模板)
题干:splay模板,要求维护区间反转. splay是一种码量小于treap,但支持排名,前驱后继等treap可求的东西,也支持区间反转的平衡树. 但是有两个坏处: 1.splay常数远远大于trea ...
- 利用RestTemplate进行http调用
在对接API的时候,会涉及调用第三方的服务,这时候可以利用RestTemplate进行调用,下面给大家展示一个简单的调用demo. package com.tanlu.user.api.control ...
- Java方法传递参数传值还是传址的问题
这几天重构项目代码遇到一个疑问:可不可以在方法A中定义一个boolean变量b为false,然后A调用方法C把b传递到C方法中经过一些列业务判断后修改为true,C执行结束后A方法中b的值还是原来的f ...
- 高可用技术之keepalived原理简单了解
Keepalived 工作原理 keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议. 虚拟路由冗余协 ...
- Dev Express中Dock panel的使用
使用DockManager,添加DockPanel. 1,DockManager位于“导航和布局”分类中. 添加一个DockManager控件到窗体中以后,即是在当前窗体类中,添加一个DockMana ...
- ajax跨域访问总结
1,jsonp的使用 就是script引用别的站点js,利用回调把内容传给这个js。 a需要引入b,在页面上引入b的js,里面有b的函数,在a中执行,就能拿到json了。 程序B中test.js的代码 ...
- PHP加速之eaccelerator
eaccelerator简介: eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除. 它还 ...
- 80. Hibernate 5.0命名策略使用naming-strategy 不起作用【从零开始学Spring Boot】
[原创文章,转载请注明出处] 事情的起因:一不小心从1.3.3升级到了1.4.0版本,结果就碰到了各种悲催的事情了,好吧,Hibernate5.0的新特性就是其中一个坑,我们会发现我们配置的namin ...