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系列之--测试框架断言【转】的更多相关文章

  1. Selenium WebDriver 数据驱动测试框架

    Selenium WebDriver 数据驱动测试框架,以QQ邮箱添加联系人为示例,测试框架结构如下图,详细内容请阅读吴晓华编著<Selenium WebDiver 实战宝典>: Obje ...

  2. Selenium关键字驱动测试框架Demo(Java版)

    Selenium关键字驱动测试框架Demo(Java版)http://www.docin.com/p-803493675.html

  3. <day002>Selenium基本操作+unittest测试框架

    任务1:Selenium基本操作 from selenium import webdriver # 通用选择 from selenium.webdriver.common.by import By # ...

  4. Python&Selenium 关键字驱动测试框架之数据文件解析

    摘要:在关键字驱动测试框架中,除了PO模式以及一些常规Action的封装外,一个很重要的内容就是读写EXCEL,在团队中如何让不会写代码的人也可以进行自动化测试? 我们可以将自动化测试用例按一定的规格 ...

  5. Selenium之unittest测试框架详谈及实操

    申明:本文是基于python3.x及selenium3.x. unittest,也可以称为PyUnit,可以用来创建全面的测试套件,可以用于单元自动化测试(模块).功能自动化测试(UI)等等. 官方文 ...

  6. Google C++测试框架系列:入门

    Google C++测试框架系列:入门 原始链接:V1_6_Primer 注 GTest或者Google Test: Google的C++测试框架. Test Fixtures: 这个词实在找不到对应 ...

  7. 前端测试框架Jest系列教程 -- 简介

    写在前面: 随着互联网日新月异的发展,用户对于页面的美观度,流畅度以及各方面的体验有了更高的要求,我们的网页不再是简单的承载文字,图片等简单的信息传递给用户,我们需要的是更加美观的页面展示,更快的浏览 ...

  8. 前端测试框架Jest系列教程 -- Asynchronous(测试异步代码)

    写在前面: 在JavaScript代码中,异步运行是很常见的.当你有异步运行的代码时,Jest需要知道它测试的代码何时完成,然后才能继续进行另一个测试.Jest提供了几种方法来处理这个问题. 测试异步 ...

  9. 前端测试框架Jest系列教程 -- Mock Functions

    写在前面: 在写单元测试的时候有一个最重要的步骤就是Mock,我们通常会根据接口来Mock接口的实现,比如你要测试某个class中的某个方法,而这个方法又依赖了外部的一些接口的实现,从单元测试的角度来 ...

随机推荐

  1. spring boot 在idea中实现热部署

    1)在pom中直接引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...

  2. Maven实战读书笔记(三):Maven依赖

    3.1 依赖的配置 一个依赖声明可以包含下面元素: <dependencies> <dependency> <groupId></groupId> &l ...

  3. xcode菜单栏

    File  文件 Edit  编辑 View 视图 Navigate 导航 Editor 编辑 Product 产品 Window  窗口 Help 帮助 File  文件 New 新建        ...

  4. Elasticsearch document深度剖析

    1. 针对Elasticsearch并发冲突问题,ES内部是如何解决的? 1)ES内部是线程异步并发修改的,是基于_version版本号进行乐观锁并发控制的: 2)若后修改的先到了,那么修改后版本发生 ...

  5. DNS域名系统

    1. 什么是DNS? DNS是域名系统的缩写,DNS通过将域名与实际的Web服务器连接来帮助引导Internet上的流量.从本质上讲,它需要一个人性化的请求 – 像simcf.cc这样的域名 – 并将 ...

  6. 快速部署jumpserver堡垒机

    jumpserver版本:Version 1.4.1-2 (社区版) 主机IP地址:10.0.0.105 准备环境1.安装依赖yum -y install wget sqlite-devel xz g ...

  7. python 05 关于对python中引用的理解

    数据的在内存中的地址就是数据的引用. 如果两个变量为同一个引用,那么这两个变量对应的数据一定相同: 如果两个变量对应的数据相同,引用不一定相同. 通过id(数据)可以查看数据对应的地址,修改变量的值, ...

  8. python 连接docker

    发现15年写过的一小段,先mark一下,后续玩儿起来 import docker c = docker.Client(base_url='unix://var/run/docker.sock',ver ...

  9. ArrayList练习之存储自定义对象并遍历

    新建一个Student.java类 Student.java /* * 这是一个学生类 */ public class Student { private String name; private i ...

  10. PS学习笔记(02)

    书籍推荐: <设计之下>这本APP设计书字里行间都透露出了真实,作者能将其工作流程和方法分享出来,实在值得尊敬.通过这本书全面了解了真实的设计工作是怎么做的,今后可以用到自己的工作中.赞! ...