python断⾔asrtequal_python_常⽤断⾔asrt
python⾃动化测试中寻找元素并进⾏操作,如果在元素好找的情况下,相信⼤家都可以较熟练地编写⽤例脚本了,但光进⾏操作可能还不够,有时候也需要对预期结果进⾏判断。
常⽤
这⾥介绍⼏个常⽤断⾔的使⽤⽅法,可以⼀定程度上帮助⼤家对预期结果进⾏判断。-
asrtEqual
asrtNotEqual
asrtTrue
asrtFal
asrtIsNone
asrtIsNotNone
asrtEqual 和 asrtNotEqual
asrtEqual:如两个值相等,则pass
asrtNotEqual:如两个值不相等,则pass
使⽤⽅法:
asrtEqual(first,cond,msg)其中first与cond进⾏⽐较,如果相等则通过;msg为失败时打印的信息,选填;断⾔asrtNotEqual 反着⽤就可以了。
bloodyasrtTrue和asrtFal
asrtTrue:判断bool值为True,则pass
asrtFal:判断bool值为Fal,则Pass
使⽤⽅法:
asrtTrue(expr,msg)其中express输⼊相应表达式,如果表达式为真,则pass;msg选填;断⾔asrtFal如果表达式为假,则pass
asrtIsNone和asrtIsNotNone
asrtIsNone:不存在,则pass
asrtIsNotNone:存在,则pass
使⽤⽅法:
asrtIsNone(obj,msg)检查某个元素是否存在
volunteers
总结:
常⽤
asrtEqual(a, b) a == b
asrtNotEqual(a, b) a != b
asrtTrue(x) bool(x) is True
asrtFal(x) bool(x) is Fal
asrtIs(a, b) a is b 2.7
asrtIsNot(a, b) a is not b 2.7
asrtIsNone(x) x is None 2.7
asrtIsNotNone(x) x is not None 2.7
asrtIn(a, b) a in b 2.7
asrtNotIn(a, b) a not in b 2.7
asrtIsInstance(a, b) isinstance(a, b) 2.7
asrtNotIsInstance(a, b) not isinstance(a, b) 2.7
g7是什么意思其它
asrtAlmostEqual(a, b) round(a-b, 7) == 0
asrtNotAlmostEqual(a, b) round(a-b, 7) != 0
asrtGreater(a, b) a > b 2.7
asrtGreaterEqual(a, b) a >= b 2.7
asrtLess(a, b) a < b 2.7sugar bowl
asrtLessEqual(a, b) a <= b 2.7
asrtRegexpMatches(s, re) regex.arch(s) 2.7
asrtNotRegexpMatches(s, re) not regex.arch(s) 2.7
asrtItemsEqual(a, b) sorted(a) == sorted(b) and works with unhashable objs 2.7 asrtDictContainsSubt(a, b) all the key/value pairs in a exist in b 2.7 asrtMultiLineEqual(a, b) strings 2.7
topstar
asrtSequenceEqual(a, b) quences 2.7
asrtListEqual(a, b) lists 2.7烦躁的英文
asrtTupleEqual(a, b) tuples 2.7
asrtSetEqual(a, b) ts or frozents 2.7
asrtDictEqual(a, b) dicts 2.7
asrtMultiLineEqual(a, b) strings 2.7
asrtSequenceEqual(a, b) quences 2.7
asrtListEqual(a, b) lists 2.7tp0
asrtTupleEqual(a, b) tuples 2.7
asrtSetEqual(a, b) ts or frozents 2.7asrtDictEqual(a, b) dicts 2.7
使⽤时机:
那么我们什么时候应该使⽤断⾔呢?如果没有特别的⽬的,断⾔应该⽤于如下情况:
防御性的编程
运⾏时对程序逻辑的检测
eligible合约性检查(⽐如前置条件,后置条件)
程序中的常量
检查⽂档
例:防御性编程中添加断⾔
在代码开始添加注释是个好的开端,但是⼈们都不太喜欢读和更新这些注释,这些注释会很快变得过时。但对于断⾔,我们可以同时对这块代码编写⽂档,如果这些断⾔被违反了,会直接引起⼀个简单⽽⼜直接的失败。
asrt target in(x, y, z)
翻译googleif target ==x:
run_x_code()
elif target ==y:
破晓下什么时候上映
run_y_code()
el:
asrt target == z
run_z_code()