无论test或者keyword能否pass,均有Teardown收拾残局,真是个好东西。只是当前的设计有些尴尬:只能写一个keyword,只能执行预先写好的。实际情况中往往需要在Teardown执行多个关键字,且不期望是预先静态写成而是根据测试用例的中间执行结果而定(比如login telnet应该是成功login才需要在Teardown中close connection)。
也就是说,我们不希望为每个Teardown单独写个关键字去静态地包括一切,对teardown增加动作应该耦合在用例或者keyword的主体步骤中。作者用user keyword的方式做了一个设计:
1. 公用关键字Test/Keyword Teardown Init (放在Test或Keyword的Setup位置): 创建一个列表(list)存放每个keyword的名字和参数;
2. 公用关键字Test/Keyword Teardown Run (放在Test或Keyword的Teardown位置):对上面的列表,按升序对每一行的关键字及其参数执行Run Keyword;
3. 公用关键字Test/Keyword Teardown Insert (放在Test或Keyword的步骤中,紧贴着需要Teardown的动作后面);