RobotFrameWork 接口测试 -- 安装 HttpLibrary,解决 导入 RF 时红色
应用场景:
链接:https://blog.csdn.net/sun_977759/article/details/89333539
使用RF做接口测试,接口响应体里面的内容通常是一个json格式的字符串,可以直接使用Get Json Value(来自HttpLibrary.HTTP库)进行解析,通常用法如下
可以使用如/xx/xx/xx这样一层一层的去解析
但是通过get json value获取到的值,会发现如果是个字符串,是带有引号的
但是很多时候预期是只需要里面的test,不带引号,这个时候就需要将json字符串转成字典对象了,需要用到To Json(来自RequestsLibrary库)或者Parse json(来自HttpLibrary.HTTP库),这两个关键字实现的功能是一样的,然后通过Get From Dictionary(来自Collections库)去获取对应key的value值
安装相关库
HttpLibrary 需要依赖以下四个库
jsonpointer
jsonpatch
livetest
WebTest
1. pip 安装相关
1) pip install robotframework_httplibrary
2) pip install jsonpointer
3) pip install jsonpatch
2. 下载安装 livetest
1)下载地址分别是,如果 pip 安装失败,可以手动下载再安装
https://pypi.org/project/jsonpointer/#files
https://pypi.org/project/jsonpatch/#files
https://pypi.org/project/livetest/#files
https://pypi.org/project/WebTest/#files
2). 修改相关配置
解压 livetest-0.5,并修改如下地方:
(1).修改 \livetest-0.5\livetest\__init__.py 修改 import httplib -> import http.client as httplib 修改 import urlparse -> import urllib.parse 修改 from Cookie import BaseCookie, CookieError -> import http.cookiejar 修改 XXXError, e 为XXXError as e (2).修改 \livetest-0.5\setup.py 修改 long_description=file('README.rst').read() -> long_description=open('README.rst').read() 修改 version=livetest.__version__ -> version='0.5' 修改 author_email=livetest.__author__ -> author_email='storborg@mit.edu' (3).在cmd中切换路径到 \livetest-0.5,执行 python setup.py install,安装成功。
3. 修改 HttpLibrary
1)路径:..\Python37\Lib\site-packages\HttpLibrary\__init__.py
2)修改如下地方:
修改 from urlparse import urlparse ->from urllib.parse import urlparse
修改 except ValueError, e为 except ValueError as e (共两处)
4. RF 中导入 HttpLibrary.HTTP