百度免费优化,宁波市网站排名优化,前端开发培训机构推荐无锡,网站建设客户来源1. 前言 1.2.7版本的Airtest中#xff0c;一个很重要的功能是 新增了非常丰富的断言API #xff0c;今天我们就来详细看一下Airtest都给我们提供了哪些断言语句。
2. 旧版Airtest提供的断言语句 先回顾下#xff0c;旧版Airtest一直以来#xff0c;都只给我们提供了2种断言…1. 前言 1.2.7版本的Airtest中一个很重要的功能是 新增了非常丰富的断言API 今天我们就来详细看一下Airtest都给我们提供了哪些断言语句。
2. 旧版Airtest提供的断言语句 先回顾下旧版Airtest一直以来都只给我们提供了2种断言语句一种是断言目标存在/不存在当前页面
assert_exists assert_not_exists 另一种是断言2个值相等/不相等
assert_equal assert_not_equal 1断言目标存在/不存在当前画面
assert_exists(Template(rtpl1665570124249.png, record_pos(0.118, -0.026), resolution(720, 1440)), 请填写测试点)assert_not_exists(Template(rtpl1665570165989.png, record_pos(0.118, -0.032), resolution(720, 1440)), 请填写测试点) 2断言2个值相等/不相等 assert_equal(poco(score).get_text(), 100, 分数为100分) assert_not_equal(poco(score).get_text(), 0, 分数不为0) 3. 新版Airtest新增的断言语句
而Airtest1.2.7版本又给我们新增了14个断言的API包含断言表达式为True或者Falsebool、断言表达式为空/不为空、断言2个值的大小情况等
1断言表达式为True/Falsebool
from airtest.core.assertions import *# 断言表达式为True
assert_true(11, msgassert 11)# 断言表达式为False
assert_false(12, msgassert 1!2) 2断言2个对象相同/不相同
from airtest.core.assertions import *# 断言2个对象相同
assert_is(1, 1, msgassert 1 is 1)# 断言2个对象不相同
assert_is_not(1, 2, msgassert 1 is not 2)
3断言表达式为None/不为None
from airtest.core.assertions import *# 断言表达式为None
assert_is_none(None, msgassert None is None)# 断言表达式不为None
assert_is_not_none(1, msgassert 1 is not None)
4断言第一个参数是否在第二个参数中包含关系
from airtest.core.assertions import *# 断言第一个参数在第二个参数中
assert_in(1, [1, 2], msgassert 1 in [1, 2])# 断言第一个参数不在第二个参数中
assert_not_in(3, [1, 2], msgassert 3 not in [1, 2])
5断言对象是不是某种类型的实例
from airtest.core.assertions import *# 断言对象是某种类型的实例
assert_is_instance(1, int, msgassert 1 is int)# 断言对象不是某种类型的实例
assert_not_is_instance(1, str, msgassert 1 is not str)
这个断言语句中第一个参数为obj是一个具体的对象实例第二个参数为cls是一种类型我们可以用这个断言来判断某个实例是不是属于某种类型的。
不过这个断言在AirtestIDE中执行会报一个错误我们会在下个版本修复这个问题
TypeError: cant pickle mappingproxy objects6断言第一个值大于/大于等于第二个值
from airtest.core.assertions import *# 断言第一个值大于第二个值
assert_greater(2, 1, msgassert 2 1)# 断言第一个值大于等于第二个值
assert_greater_equal(1, 1, msgassert 1 1)
7断言第一个值小于/小于等于第二个值
from airtest.core.assertions import *# 断言第一个值小于第二个值
assert_less(1, 2, msgassert 1 2)# 断言第一个值小于等于第二个值
assert_less_equal(1, 1, msgassert 1 1)
4. 拓展Airtest断言的msg参数说明
可以看到所有Airtest的断言语句中都包含msg参数这个参数是为了方便我们给当前的断言语句增加一个说明并且该说明会显示在Airtest报告断言步骤的描述上 5. 拓展Airtest断言的snapshot参数说明 从Airtest1.2.7版本起断言还新增了一个snapshot的参数为了支持同学们在设置断言时还能附带截取当前画面的图片然后显示在Airtest报告中。
当然如果我们不需要断言截图的话也可以设置关闭断言的截图
# 默认情况下断言截图会开启
assert_is_not_none(1, msgassert 1 is not None)# 如不需要断言时截取当前画面则可以设置关闭断言的截图
assert_is_not_none(1, msgassert 1 is not None,snapshotFalse) 1assert_exists关闭截图的特殊说明
比较特别的是assert_exists 默认也是带截图的但是要设置这个步骤不截图不能使用 snapshotFalse 来设置而是要通过Airtest的全局设置来控制
ST.SAVE_IMAGE Falseassert_exists(Template(rtpl1665719197992.png, 请填写测试点))
ssert_not_exists 也是同理。如果给assert_exists强行传入snapshotFalse则会报错
TypeError: assert_exists() got an unexpected keyword argument snapshot
总结
感谢每一个认真阅读我文章的人
作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 文档获取方式
加入我的软件测试交流群632880530免费获取~同行大佬一起学术交流每晚都有大佬直播分享技术知识点
这份文档对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你 以上均可以分享只需要你搜索vx公众号程序员雨果即可免费领取