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

上一篇 / 下一篇  2013-01-01 20:04:27 / 个人分类:RobtFramework

   robotframework只是一个自动化测试的框架,它本身无法识别任何UI对象,当然也不能操作任何UI对象。RF是利用丰富的测试库来识别和操作测试对象。RF的测试库和QTP的插件功能上异曲同工。例如,用Selenium2Library库测试web应用,用SwingLibrary测试java应用。当然测试工程师还可以根据自己的需要定制测试库,这是RF最大的魅力之一。QTP是靠卖插件的liense赚钱,而且不开放。在这一个点上QTP完全不能和RF相比。
   RF有三种方式定制测试库:静态API、动态API和混合API。我们先来介绍使用静态API方式定制测试库。这里我举一个简单的小例子说明。先写一个Python的类,代码如下:

将源代码文件命名为MyLibrary.py,然后放在D:\python27\lib\site-packages\目录下。当然放在什么位置,根据你本机的情况决定,只要Python能够找到就行。可以打开python idle,然后输入:
   import MyLibrary
如果系统能够正常引入MyLibrary,则说明能够找到这个测试库。
   下一步,将MyLibrary作为library引入。在test suite中的setting中,按“library”按钮。library的“name”中输入“MyLibrary”。记住library的名字一定要与测试源代码文件的名字相同。然后在test suite下创建一个测试用例,内容如下:

其中第一列的关键字“print message”,实际就是MyLibrary类的print_message方法。第二列是print_message方法的参数,运行结果如下:

注意,这里的关键字中,“print”和“message”之间没有“_”。但MyLibrary类中的“print_message”方法名称是有“_”的。这是RF的一个机制:方法(或者函数)名字中的“_”,写成关键字名字时,可以用空格代替。当然,关键字中也可以直接写方法(或者函数)名称。这个例子中,关键字“print_message”和“print message”效果是一样的。
从这个例子中,我们可以看出:RF的library功能,实际就是import一个python的moudle。而关键字,则是moudle中可以使用的方法(或者函数)。

TAG:

 

评分:0

我来说两句

Open Toolbar