背景
使用RobotFramework进行测试的时候,经常会需要写一些准备数据的脚本,比如我现在的的脚本框架下,把所有的变量和项目配置都放在服务器上,那么我在执行用例的时候,就必须要去读取这些配置,但是在每个用例都要写一遍这个读取配置的代码,显得很繁琐,偶然的尝试,发现了这个小技巧。
往常的做法
正常来说,我们如果要拿到这些配置,必须要执行获取配置的关键字,然后拿到这个关键字的返回值,然后才能执行后续的步骤,比如如下代码:
*** Keywords *** get config log 开始获取配置 [Return] config *** Test Cases *** test ${rst} get config log ${rst} |
但是这样做会非常麻烦,每个用例在跑的时候,都必须要调用这个关键字,RobotFramework提供了setUp的方法,但是这个方法是在每个用例开始的时候执行,用来清理环境的,比如用例执行的前置准备,我们的问题是要拿到系统配置的值。在setUp执行的时候,下方的用例,没有地方可以拿到值。
小技巧
其实setUp也是可以拿到值,只是需要做一个简单的动作。如下面的代码:
*** Settings *** Test Setup get config *** Keywords *** get config log 开始获取配置 set suite variable ${config} config *** Test Cases *** test log ${config} |
在case中,我们直接打印了${config}这个变量,这个变量哪里来的呢?就是在关键字get config中的set suite variable方法设置了${config}变量,然后在setUp中执行了get config关键字,这个变量就变成了suite级别的变量,其他case在执行的过程中就能够直接拿来用了。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。