当前位置:网站首页>Robot_Framework:断言
Robot_Framework:断言
2022-08-01 04:59:00 【不怕猫的耗子A】
RF断言
1、RF中断言的意思与Python中断言的意思差不多:保证用例输出与我们预期的一致
⑴用例输出与预期结果一致:用例继续往下执行
⑵用例输出与预期结果不一致:抛出错误信息,用例停止执行
2、测试用例的目的是要验证一些操作否符合我们的预期结果,所以在测试用例中,断言函数是必不可少的一项。
⑴我们做的每一步操作都会有预期的结果,为了保证操作得到的结果符合预期,我们需要在测试用例中添加断言,来保证实际结果和预期结果一致
| 断言函数名 | 描述 |
| should be equal | 断言某个字符串与预期指定的字符串相等 |
| should not be equal | 断言某个字符串与预期指定的字符串不相等 |
| Should Be True | 断言结果为True |
| Should Not Be True | 断言结果为False |
| should be empty | 断言为空 |
| should not be empty | 断言不为空 |
| Should Match | 断言某个字符串与预期指定的字符串相匹配 |
| Should Not Match | 断言某个字符串与预期指定的字符串不匹配 |
| Should Contain | 包含某值 |
| should not contain | 不包含某值 |
| Should Start With | 断言某个字符串是以指定值开始 |
| Should not Start With | 断言某个字符串不是以指定值开始 |
| Should End With | 断言某个字符串以指定值结尾 |
| Should Not End With | 断言某个字符串以指定值结尾 |
注:
1、RF中还有一些别的断言方式,只是感觉不常用,就没写到这上面来
例1:
⑴编写函数
①这里就不介绍导入Py文件了

⑵编写测试用例

拓展
RF调用类方法
1、前面学习的内容中:RF调用的都是Python函数。但是在实际中更多的可能是RF需要的调用类方法
⑴毕竟都写成函数,太分散了,不利于代码维护
⑵并且类之间可以使用继承等,这样写代码也更加方便
2、RF在调用Python类时,有几点需要注意下:
⑴Python文件名需要与类名一致:避免RF找不到对应的类
⑵RF在调用类方法时,会自动实例化类,因此类实例化这部分我们可以不管
例2:无实例属性
⑴编写类
⑵导入所需py文件

⑶编写测试用例
注:可以看到
1、类无实例属性时,RF在调用类方法时跟调用函数是一样的:直接根据方法名来调用(导入PY文件也与调用函数无差别)
⑴只需要保证:Python文件名需要与类名一致
2、在调用Python函数时,建议使用"py文件名.函数名(也就是类名.函数名)"的方式来调用函数(定义关键字)。这样可以避免因为函数名重复导致调用失败
例3:有实例属性
⑴编写类
⑵导入所需py文件
⑶编写测试用例
注:
1、可以看到:类有实例属性时与无实例属性时的调用差别不大
⑴唯一的区别就是:在导入PY文件时,需要在"args"出填写实例属性值
⑵在设置实例属性值时,需要注意传入的实例属性值要与代码中的实例属性个数一致
⑶存在多个实例属性值时,使用"|"隔开
⑷依旧需要注意:Python文件名需要与类名一致
2、感觉RF调用类时,类中存在实例属性,意义不大
⑴从上面例子可以看出:实例属性值是在TestSuite层级的,是针对于整个suite的
⑵感觉最好还是把参数放到类方法中,最好不要使用实例属性(针对RF哈)
3、这个例子在导入PY文件时,发现导入后PY文件路径显示为红色(表示未导入成功),但是实际上用例又是可以正常跑的
⑴这一点就不大清楚了,因为不影响,就没管
边栏推荐
- 6-23漏洞利用-postgresql代码执行利用
- Li Chi's work and life summary in July 2022
- (2022 Niu Ke Duo School IV) N-Particle Arts (Thinking)
- The difference between scheduleWithFixedDelay and scheduleAtFixedRate
- Code Interview Guide for Programmers CD15 Generating an Array of Windowed Maximums
- 初识shell脚本
- 25. Have you been asked these three common interview questions?
- mysql中解决存储过程表名通过变量传递的方法
- Selenium:浏览器操作
- PAT serie b write the number 1002
猜你喜欢

数组问题之《下一个排列》、《旋转图像》以及二分查找之《搜索二维矩阵》

pytroch、tensorflow对比学习—功能组件(数据管道、回调函数、特征列处理)

typescript23-tuple

Dry goods!How to Construct SRv6-TE Performance Test Environment Using Instrumentation

pytroch、tensorflow对比学习—搭建模型范式(构建模型方法、训练模型范式)

II. Binary tree to Offer 68 - recent common ancestor

Power button (LeetCode) 212. The word search II (2022.07.31)

Pyspark Machine Learning: Vectors and Common Operations

Pyspark机器学习:向量及其常用操作

pytroch、tensorflow对比学习—使用GPU训练模型
随机推荐
Code Interview Guide for Programmers CD15 Generating an Array of Windowed Maximums
PAT class B 1001 (3n+1) conjecture
云服务器下载安装mongo数据库并远程连接详细图文版本(全)
可持久化线段树
TIM登陆时提示00001(TIM00001)
LeetCode 231. 2 的幂
typescript27-枚举类型呢
报错:AttributeError: module ‘matplotlib’ has no attribute ‘figure’
请问shake数据库中想把源的db0的数据同步到目的db5,参数怎么设置呢?
typescript23-元组
typescript25 - type assertion
[MySQL] 多表查询
Excel做题记录——整数规划优化模型
LeetCode 1189. “气球” 的最大数量
typescript20-接口
基于Arduino制作非接触式测温仪
(2022 Niu Ke Duo School IV) N-Particle Arts (Thinking)
Selenium:浏览器操作
万字逐行解析与实现Transformer,并进行德译英实战(二)
typescript27 - what about enumeration types