RF引入自定义库

小白一枚,在此记录,方便自己回顾。

1、在python安装目录下的 Lib\site-packages 目录下新建一个目录,目录名就是库名,如我创建的TestLoginLibrary文件夹

2、在新建的TestLoginLibrary目录下创建一个python文件,扩展名为py。如:CtLogin.py

3、在新建的TestLoginLibrary目录下创建 __init__.py 文件,文件名必须固定这样。该文件的功能,就是把关键字类暴露出来,让rf能知道。注意py文件名与里面的类名应一致,貌似大小写不区分。

其内容如下:

from CtLogin import CtLogin #第一个CtLogin指刚创建的py文件,第二个CtLogin是py文件中的类名

class TestLoginLibrary(CtLogin):  #这里的类名与库文件夹名称一致,括号中变量是py文件中的类名

    ROBOT_LIBRARY_SCOPE = 'GLOBAL'


4、在rf中引入新建的TestLoginLibrary,不需选择路径,直接输入“TestLoginLibrary”。


5、经过以上,自定义库的骨架就有了,下面自己在CtLogin.py中写具体要实现的功能,比如我要实现的是运行登录接口后获取cookies,方便其他接口使用。

import requests

import json

class CtLogin:

    def __int__(self):

        pass

    def testLogin(self, userName, userPwd):       

        url = "http://XXX.com/login"

        headers = {

            "Content-Type": "application/json;charset=UTF-8"

        }

        data = {

            "userName": userName,

            "authCode": "",

            "userPwd": userPwd

        }

        res = requests.post(url=url, json=data, headers=headers)

        return (res.cookies)

6、现在去rf中使用我定义的关键字“testLogin”~


每个测试人员用不同的测试用户名、密码,得到返回值,再把它设置为全局变量。

7、我把登录相关的东西都放在了Resource中,TestCase中引用关键字即可。


是不是很easy~

2019-03-05补充:

在一个library中新建多个关键字方法时,只需要在CtLogin.py文件中添加def方法即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • 经过对django的初步学习,我们已经对后台的基本流程以及django的运作有了一定的了解,但是这还不足够,dja...
    coder_ben阅读 3,864评论 8 34
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,268评论 22 257
  • "这是我的妈妈,你的妈妈在那边"她要赶爸爸走 锺书很窝囊地笑说:"我倒问问你,是我先认识你妈妈,还是你先认识?" ...
    CNBLUEone阅读 151评论 0 0
  • 张平平 猫,在大多数人的印象里就像个顽皮的孩子古灵精怪的。 我是颇为喜欢猫的,而我的童年也是在猫的陪伴下长...
    Snailqiao阅读 243评论 0 0