美文网首页
RF引入自定义库

RF引入自定义库

作者: young_liu | 来源:发表于2018-11-08 14:30 被阅读0次

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

    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方法即可。

    相关文章

      网友评论

          本文标题:RF引入自定义库

          本文链接:https://www.haomeiwen.com/subject/xgrxxqtx.html