RF框架自定义测试库开发

一个人想着一个人 提交于 2019-12-05 10:05:29

静态库

方法(methods)直接映射为关键字名称。关键字接受和方法相同的参数, 通过抛异常来 报告错误, 通过往标准输出里写入来写 log, 同时可以通过return 来返回结果。

 创建步骤:

▲ 首先,在D:\xxxxx\Lib\site-packages目录下新建包名【比如MyLibrary】

▲ 其次,在__init__.py文件用于定义自定义库的相关信息,需要用到的keywords调用继承和声明。

注意:类名必须跟创建的包名MyLibrary一模一样,否则导入库会失败。

▲ 再次,在D:\xxxxxx\Lib\site-packages/MyLibrary目录下新建version.py文件用于描述自定义测试库的版本信息

▲ 最后, MyLibrary目录下新建MyKeywords类文件,用于完成想封装的各项功能方法,在函数定义文档注释用于导入RF框架,会显示该库的关键字文档内容信息

RIDE中导入库,用文件夹名字导入就行。

如果有多类需要引用,比如引用MyKeywords和MyTest1类,如下方法:

  • 导入测试库

  • 可看测试库信息

  • 执行脚本

  • 输出结果

动态库

RF的动态API方式,是利用get_keyword_names、run_keyword、get_keyword_arguments、 get_keyword_documentation四个固定名称的方法来运行关键字。只要你创建的类有这四个方法(主要是前两个),就可以让RF识别关键字。

动态库和混合库定义版本信息和init文件方法是一样,只是类文件封装方法及机制处理不同。

  • RF的动态API方式,是利用get_keyword_names、run_keyword、get_keyword_arguments、 get_keyword_documentation四个固定名称的方法来运行关键字,只要你创建的类有这四个方法(主要是前两个),就可以让RF识别关键字。
  • get_keyword_names方法实际是告诉RF,我们的库中有哪些关键字。RF会从get_keyword_names方法的返回值中读取关键字名称。

  • run_keyword方法则实际执行关键字对应的代码。run_keyword第一个参数是需要执行的关键字的名称,第二个参数是关键字的参数。

  • get_keyword_arguments方法告诉RF,每个关键字的参数是什么样的。它的参数是关键字的名称,返回值则是关键字的参数。

  • get_keyword_documentation方法告诉RF,每个关键字的说明文档的内容。

导入库后,查看信息如下图所示:

混合库

顾名思义,混合API方式是静态API和动态API方式的混合使用。混合API方式,使用get_keyword_names方法告知RF关键字有哪些,但是不使用run_keyword方法执行关键字。执行方式和静态API相同,执行和关键字同名的方法。

▲ 这个例子中,使用get_keyword_names方法告诉RF有“first_keyword”和"second_keyword"两个关键字。其中 “first_keyword”关键字执行first_keyword方法的代码。执行"second_keyword"关键字时,由于没有对应的方法, 所以RF先执行“__getattr__”方法,然后获取“__getattr__”方法返回的值。

▲ 注意:这里返回的值是一个可以被RF执行的方法(或函 数),而不是一个字符串。RF找到这个方法(或者函数)后,再执行代码。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!