Robotframework之Library引入

标签:
robotframework |
分类: 自动化测试 |
学习RobotFramework可能第一次接触,大部分人都是用来做功能自动化,而做功能自动化,很重要一步也是必要的一步就是引入Library,就是Selenium2Library;我刚开始也没太注意Library,而在使用接口测试时,包括后面使用的自定义库,都需要对Library有所了解。当然写这篇文字的出发点就是引入HttpLibrary.HTTP,当时的想法就是,为什么要.HTTP呢?
1.先了解下引入包的原理
在引入包的时候,在输入错误的Library时,在Tool--->View RIDE Log中可以看到日志,会提示No
module named xxx;而这个module是指库名,一般就是%python%\Lib\site-packages\下的文件夹名(当然除自定义库,以及.dist-info与.egg后缀的文件夹)。当然还有其他特别的,比如Selenium2Library就是在robotframework_selenium2library-1.8.0-py2.7.egg这个文件夹下。
2.HttpLibrary.HTTP的说明
知道RobotFramework中引入Library填写的是库名后,那HttpLibrary就是库名为什么还要.HTTP呢?
(1)我打开源码对比了下,先打开Selenium2Library的__init__.py看一下,可以看到classname是Selenium2Library
(2)再打开HttpLibrary的__init__.py看一下,发现classname是HTTP,而引入的时候写的是HttpLibrary.HTTP,由此可推断,引入库是的逻辑是:module.classname
(3)而classname与module一致时,只需要写module即可,比如Selenium2Library的库名与classname是一致的