robot framework断言
一、基础
RobotFramework带有丰富的系统关键,使用时无需导入,直接使用,为写自动化用例带来了极大的方便;不能停留在知道或者是会得程度,只有熟练使用各关键字,才能提升自动化用例的写作效率。下面将逐个举例介绍RobotFramework提供的断言关键字。
二、实例
为方便讲解,首先创建三个list变量:list_a、list_b、list_c;以及两个scalar变量:string和name。
@{list_a} create list 1 a ${21} 21 12
@{list_b} set variable 1.0 a ${21} 21 21
@{list_c} create list
${string} set variable pengliwen is in hangzhou
${name} set variable plw
备注:以下提供的用例都是断言成功。
01、should contain 、 should not contain 与should contain x times
should contain ${list_b} 1.0
should not contain ${list_b} 1
should contain x times ${list_b} 21 2
说明:变量${list_b}包含对象1.0而不包含对象1,且对象21在变量${list_b}出现了两次。
02、should be empty 与 should not be empty
should be empty ${list_c}
should not be empty ${list_a}
说明:变量${list_c}没有赋值,所以为空;相反,变量${list_a}有赋初始值,故为非空。
03、should be equal 与 should not be equal
should be equal ${list_a[1]} ${list_b[1]}
should not be equal ${list_a} ${list_b}
说明:${list_a[1]}=a,${list_b[1]}=a故两个对象相等;而${list_a}和${list_b}有元素不一致,这两个对象不相等。
04、Should Be Equal As Numbers 与 Should not Be Equal As Numbers
Should Be Equal As Numbers ${list_b[0]} 1.0000
Should not Be Equal As Numbers ${list_b[0]} 1.1
说明:${list_b[0]}=1,忽略精度,故与1.0000相等;而即使是忽略精度,1与1.1还是不相等的;
05、Should Be Equal As Integers与Should not Be Equal As Integers
Should Be Equal As Integers ${list_a[3]} ${list_b[3]}
Should not Be Equal As Integers ${list_a[4]} ${list_b[4]}
说明:${list_a[3]}=21,${list_b[3]}=21,而系统默认为字符串格式的“21”,故需要转化为整数类型,转化为整数后两个对象相等;
${list_a[4]}=12,${list_b[4]}=21,即使转化为整数后两个对象依旧是不相等;
06、Should Be Equal As Strings与Should not Be Equal As Strings
Should Be Equal As Strings ${list_a[2]} ${list_b[2]}
Should not Be Equal As Strings ${list_a[0]} ${list_b[0]}
说明:${list_a[2]}=${21},${list_b[2]}=${21},而均为数值型的21,故需要转化为字符串类型,转化为字符串后两个对象相等;
07、Should Be True与Should not Be True
Should Be True ${list_a[0]} < 10
Should not Be True ${list_a[0]} < 1
说明:${list_a[0]}=1(字符串类型),其ASCII值比字符串10的ASCII值小;
08、Should start With与Should not start With
Should start With ${string} peng
Should not start With ${string} h
说明:${string}=”pengliwen is in hangzhou“是以peng开头,而非以h开头;
09、Should End With与Should not End With
Should End With ${string} hangzhou
Should not End With ${string} pengliwen
说明:${string}=”pengliwen is in hangzhou“是以hangzhou结尾,而非以pengliwen结尾;
10、should match与should not match
should match ${name} p??
should not match ${string} h?*
说明:模式匹配和shell中的通配符类似,它区分大小写,'*'匹配0~无穷多个字符,“?”单个字符
${name}=plw,由以p开头的三个字母组成
11、Should Match Regexp与Should not Match Regexp
Should Match Regexp ${name} ^\\w{3}$
Should not Match Regexp ${name} ^\\d{3}$
说明:反斜杠在测试数据是转义字符,因此模式中要使用双重转义;'^'和'$'字符可以用来表示字符串的开头和结尾
${name}=plw,是有三个字母--w{3}组成,而不是由三个数字--d{3}组成。
robot framework断言的更多相关文章
- Robot Framework与Web界面自动化测试学习笔记:简单例子
假设环境已经搭建好了.这里用RIDE( Robot Framework Test Data Editor)工具来编写用例.下面我们对Robot Framework简称rf. 我们先考虑下一个最基本的登 ...
- python+robot framework接口自动化测试
python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...
- python+request+robot framework接口自动化测试
python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...
- Robot Framework 环境安装(一)
1.安装python:https://www.python.org/2.安装python的第三方库:robotframework (1)检查是否支持pip命令. (2)robotframework安装 ...
- 用 Python 写 Robot Framework 测试
Robot Framework 框架是基于 Python 语言开发的,所以,它本质上是 Python 的一个库. 1.你懂 Python 语言. 2.又想使用 Robot Framework 测试框架 ...
- 【Robot Framework 项目实战 01】使用 RequestsLibrary 进行接口测试
写在前面 本文我们一起来学习如何使用Robot Framework 的RequestsLibrary库,涉及POST.GET接口测试,RF用例分层封装设计等内容. 接口 接口测试是我们最常见的测试类型 ...
- Robot Framework与Web界面自动化测试:简单例子
假设环境已经搭建好了.这里用RIDE( Robot Framework Test Data Editor)工具来编写用例.下面我们对Robot Framework简称rf. 我们先考虑下一个最基本的登 ...
- Robot Framework操作
Robot Framework 介绍 RobotFramework是一款基于python的开源自动化测试框架,遵守Apache License 2.0协议,在此协议下所有人都可以免费开发和使用.因为R ...
- [转]Python测试框架对比----unittest, pytest, nose, robot framework对比
测试框架 什么是框架? 框架(Framework)是整个或部分系统的可重用设计,框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求 ...
随机推荐
- mysql5.7二进制包进行多实例安装
一.需求 在一台服务器上安装mysql5.7,并且部署两个实例:3306用于本机主库,3307用于其他MYSQL服务器的从库 二.下载mysql二进制包 [root@push-- src]# -lin ...
- java面试(集合类)03
1.Collection 和 Collections 有什么区别? Collection 是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法,所有集合都是它的子类,比如 List.Set 等 ...
- (转) 【oracle调优】优化全表扫---cache整张表或索引
情景分析: 1)某查询必须要走全表扫描 2)该查询执行的频率相当高 3)对执行时间的要求也相当苛刻的话 4)数据库的IO比较吃紧 5)数据库的内存比较宽松 6)该表的大小没有大到离谱 以上情况下,可以 ...
- (转) IntelliJ IDEA2018激活
IntelliJ IDEA2018破解教程 破解方法:下载破解补丁→修改配置文件→输入激活码→激活成功 由于JetBrains封杀,大部分激活服务器已经不能使用,使用下面的比较麻烦的方法也可以进行破解 ...
- associate.py 源代码 及 使用方法
ORB_SLAM2运行RGBD数据集需要使用图片序列信息 使用以下代码进行汇集: #!/usr/bin/python # Software License Agreement (BSD License ...
- 【HDU4276】The Ghost Blows Light
题目大意:给定一棵有根树,1 号节点为根节点,点有点权,边有边权,初始给定一个价值,每经过一条边都会减少该价值,每经过一个点都会增加相应的答案贡献值,求如何在给定价值的情况下最大化答案贡献,并要求最后 ...
- bio,nio,aio的区别 select,poll,epoll的区别
先了解一些基本概念,什么是socket?什么是I/O操作 unix(like)世界里,一切皆文件,而文件是什么呢?文件就是一串二进制流而已,不管socket,还是FIFO.管道.终端,对我们来说,一切 ...
- 【BZOJ 3681】Arietta
传送门 题目描述 Arietta 的命运与她的妹妹不同,在她的妹妹已经走进学院的时候,她仍然留在山村中. 但是她从未停止过和恋人 Velding 的书信往来.一天,她准备去探访他. 对着窗外的阳光,临 ...
- JS语法基础-基本使用及数据类型分类
JS基础 --------------- 什么是JS? ------------------ JS的全称是Javascript. ----------------------------- 老婆和老婆 ...
- JAVA笔记21-数组
一.数组内存分析 1.java中的数组是引用数据类型,必须分配在堆中,数组中每个元素相当于它的成员变量(默认值为0):但C中的数组可以分配在栈中.数组中的元素可以是基本类型,也可以是引用类型.如Str ...