「这是我参加11月更文挑战的第3天,活动概况检查:2021最终一次更文挑战」运用robotframework时,自带的库提供的关键字总有不满足的时分,这时分就可以用python写一些类库,供robotframework调用,这个python文件里完成的办法就叫做扩展关键字

怎么作为导入python文件(python模块)

一种办法是放入到python的装置途径里,就像robotframework 的seleniumlibrary库相同,这种办法有个弊端,假如你没有对robotframework进行二次开发,整个装置环境依靠进行打包,则每次部署环境时,都需求从头把你写的库放一遍,现在介绍另一种办法,就和你的代堆放一起

命名规则

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

文件名和类名保持一致

robot framework--扩展关键字

导入运用

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

robot framework--扩展关键字

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

robot framework--扩展关键字

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

运用的时分,就像调用其他关键字相同,关键字名,参数, 写法要遵从robot语法 robot语法

robot framework--扩展关键字

这个办法的python源码

robot framework--扩展关键字

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

robot framework--扩展关键字

python库运用是否需求初始化的区别

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

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

robot framework--扩展关键字

python源码

robot framework--扩展关键字

总结

以上导入办法都是基于途径法导入,重点是只能导入和模块名相同的类名,这个也是我在最初说的