appium-unittest框架中的断言
1、首先unittest本身是一个python的测试框架,他有他自己的使用规则;
2、如果用其中的方法,需要引入,方法:
import unittest
class Login(unittest.TestCase):
其中需要引入unittest,然后声明的类需要继承它的TestCase才可以访问其中的方法。
3、一些常用的方法如下表
上面所提供的断言方法(assertRaises(), assertRaisesRegexp()除外)接收 msg 参数,如果指定, 将体作为失败的错误信息。
1 try:
2 num = input("Enter a number:")
3 assert (num == 10), "The number is not 10!"
4 except AssertionError,msg:
5 print msg
6 print ("Sadly, num not equals to 10")
在上面的程序中,运行到的 python 的异常与断言。通过 raw_input()方法要求用户输入一个数字,通 过 arrsert 判断用户输入的 num 是否等于 10 ; 通过 python 的 AssertionError 类型的异常来实捕获这 个异常, msg 接收异常信息并打印, 注意, msg 所结构的异常信息是我们自定义的( "The number is not 10!") 。
assertEqual(first, second, msg=None)
判断 first 和 second 的值是否相等,如果不相等则测试失败,msg 用于定义失败后所抛出的异 常信息。
assertNotEqual(first, second, msg=None)
测试 first 和 second 不相等,如果相等,则测试失败。 assertTure(expr,msg=None) assertFalse(expr,msg=None) 测试 expr 为 Ture(或为 False)
以下为 n python 2.7 版新增的断言方法:
assertIs(first, second, msg=None)
assertIsNot(first, second, msg=None)
测试的 first 和 second 是(或 不是)相同的对象。
assertIsNone(expr, msg=None)
assertIsNotNone(expr, msg=None)
测试 expr 是(或 不是)为 None
assertIn(first, second, msg=None)
assertNotIn(first, second, msg=None)
测试 first 是(或不是)在 second 中。second 包含是否包含 first 。
assertIsInstance(obj, cls, msg=None)
assertNotIsInstance(obj, cls, msg=None)
测试 obj 不(或 不是)cls 的一个实例。
(obj 和 cls 可以是一个类或元组) ,
要检查他们的类型使 用 assertIs(type(obj), cls)。