背景:
测试用例一般遵循一个用例只做一件事,一个关键字也只做一件事,降低关键字之间的耦合,那么在执行用例前一般需要先初始化数据,例如:登录、认证等,在用例执行通过后清除测试数据,如何实现呢?
示例A
*** Settings ***
Suite Setup Run keywords 登录
… AND 身份认证
Suite Teardown run keyword if all tests passed 删除测试数据
注:
1.Suite Setup和Suite Teardown写在settings中,每次执行用例不管是用例集或是单个用例执行,Settings中的Suite Setup和Suite Teardown都只会执行一次
2.Suite Setup后面如果想执行多个关键字则需要用到Run keywords关键字,后面接关键字用AND来连接,参考示例A
3.Suite Teardown后面用到了关键字run keyword if all tests passed,代表本次执行的所有用例都通过后才会执行后面的关键字–删除测试数据。如果在单个用例中执行可以写
[Teardown] run keyword if test passed 删除测试数据
这样写该关键字只会在执行该条用例时会生效,且不会对该用例集下其他用例剩下
留下的问题:
run keyword if all tests passed后面如何能执行多个关键字呢?这个暂时还没有想到好的办法,我这里暂时是把多个关键字封装成一个关键字去调用的,但我相信有更好的办法。