Robot_Framework:断言

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 Not Match 断言某个字符串与预期指定的字符串不匹配
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文件名需要与类名一致


例3:有实例属性
⑴编写类

⑵导入所需py文件

⑶编写测试用例

注:
1、可以看到:类有实例属性时与无实例属性时的调用差别不大
    ⑴唯一的区别就是:在导入PY文件时,需要在"args"出填写实例属性值
    ⑵在设置实例属性值时,需要注意传入的实例属性值要与代码中的实例属性个数一致
    ⑶存在多个实例属性值时,使用"|"隔开
    ⑷依旧需要注意:Python文件名需要与类名一致

2、感觉RF调用类时,类中存在实例属性,意义不大
    ⑴从上面例子可以看出:实例属性值是在TestSuite层级的,是针对于整个suite的
    ⑵感觉最好还是把参数放到类方法中,最好不要使用实例属性(针对RF哈)

3、这个例子在导入PY文件时,发现导入后PY文件路径显示为红色(表示未导入成功),但是实际上用例又是可以正常跑的
    ⑴这一点就不大清楚了,因为不影响,就没管

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页