阅读 157

robot framework--扩展关键字

robotframework时,自带的库提供的关键字总有不满足的时候,这时候就可以用python写一些类库,供robotframework调用,这个python文件里实现的方法就叫做扩展关键字

如何作为导入python文件(python模块)

一种方法是放入到python的安装路径里,就像robotframework 的seleniumlibrary库一样,这种方法有个弊端,如果你没有对robotframework进行二次开发,整个安装环境依赖进行打包,则每次部署环境时,都需要重新把你写的库放一遍,现在介绍另一种方法,就和你的代码放一起

命名规则

python模块的文件名就是库名,如果你的python模块里是一个类,则类名要和文件名保持一致,不然你的扩展关键字,robotframework识别不了,就会报错无法使用 例如 我写了一个测试库,设置浏览器headless模式如何设置下载路径

文件名和类名保持一致

图片.png

导入使用

在和这个python库同级目录下,我创建了一个robot资源文件,来引用这个python库

图片.png

注:因为是同级目录,所以导入的时候没有带路径信息,如果没在同级目录,得把相对路径加上 如果robot语法不是很熟悉,则可以通过robot-ride图形化界面去配置

图片.png

点击那个library按钮,然后找到你的python文件导入保存即可

使用的时候,就像调用其他关键字一样,关键字名,参数, 写法要遵循robot语法 robot语法

图片.png

这个方法的python源码

图片.png

如果在pycharm里面,设置好robot的编辑环境,导入使用这些关键字,会给出提示,这样编码就非常友好

图片.png

python库使用是否需要初始化的区别

以上例子,导入python库, 这个python init()方法不需要传参,所以直接导入使用即可 还有一种我们实现的python库,有时需要实例化之后才能使用,init()方法需要传参,这种在robot文件导入使用时,需要把实例化的参数也写进去

比如我写了一个操作文件库,需要先传一个文件进行实例化,才能调用其方法,在robot文件setting里我可以这样引入  library   python库   参数列表

图片.png

python源码

图片.png

总结

以上导入方法都是基于路径法导入,重点是只能导入和模块名相同的类名,这个也是我在开头说的


作者:哀家在冷宫学习
链接:https://juejin.cn/post/7031708201846308878

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐