robotFramework——动态API方式自定义测试库简介

上一篇 / 下一篇  2013-01-03 11:37:12 / 个人分类:RobtFramework

    robotFramework提供静态API、动态API和混合API三种方式创建自定义测试库。这里我简单介绍一下利用动态API方式创建测试库。
    RF的动态API方式,是利用get_keyword_names、run_keyword、get_keyword_arguments、get_keyword_documentation四个固定名称的方法来运行关键字。只要你创建的类有这四个方法(主要是前两个),就可以让RF识别关键字。
    我们看一个例子,python源代码如下:

这个我们创建了一个名为DynamicLibrary的类,有get_keyword_names、run_keyword、get_keyword_arguments、get_keyword_documentation四个方法。将库文件名称命名为“DynamicLibrary.py”,保存在Python可以搜索到的路径下。
    打开RIDE,在一个test suite中将“DynamicLibrary"作为library引入。再在test suite下创建一个用例,用例的内容如下:

运行这个用例,结果如下:

   从这个例子我们可以看出,get_keyword_names方法实际是告诉RF,我们的库中有哪些关键字。RF会从get_keyword_names方法的返回值中读取关键字名称。
   run_keyword方法则实际执行关键字对应的代码。run_keyword第一个参数是需要执行的关键字的名称,第二个参数是关键字的参数。
   get_keyword_arguments方法告诉RF,每个关键字的参数是什么样的。它的参数是关键字的名称,返回值则是关键字的参数。例如本例中,firest keyword关键字就要求必须有”a1“和”a2“两个参数;而second keyword关键字则允许任意多个参数。如果不允许参数,则 get_keyword_arguments返回的字符串应该是”[]“。当然返回的参数还可以设置默认值,例如a1=ccc。
   get_keyword_documentation方法告诉RF,每个关键字的说明文档的内容。例子中的库引入test suite后,在RIDE中按“F5”键,可以搜索到我们定义的关键字,如下:

大家注意Description列,其中的内容就是我们在get_keyword_documentation方法中定义的。
   RF的动态API定义测试库的功能,给我们定义自己的测试库带来很大的方便。例如,我们可以通过动态API方式定义所有的关键字。如果库的逻辑、代码有了很大的变化,我们的关键字则不需要做什么改动。

TAG:

 

评分:0

我来说两句

Open Toolbar