这几天本想研究下用robotframework+HTTP library (Requests)来做接口测试(http协议), 安装完Requests库后,在RIDE里导入该库时显示是红色,即导入失败(正常导入应该显示为黑色),网上也没有搜索到有用的信息,于是这几天就不停的在公司的电脑和家里的电脑上反复折腾。今天在家休息,继续折腾,功夫不负有心人,终于搞定了,在此记录下。

一、问题现象描述:

  我电脑上本来安装的有robotframework+Selenium2Library环境(robot framework环境搭建),于是我直接在命令行运行:pip install -U robotframework-requests  来安装RequestsLibrary,然后用RIDE导入时,如下图,Selenium2Library他DatabaseLibrary都是正常的,偏偏RequestsLibrary是红色的。

二、问题解决过程:

首先,我怀疑安装的有问题,于是到安装目录(我的是:C:\Python27\Lib\site-packages)下查看是否存在RequestsLibrary库,发现该目录下存在下面两个安装文件夹:

  •   RequestsLibrary
  •   robotframework_requests-0.3.8-py2.7.egg-info

  安装的应该没问题,安装没问题那是什么有问题?我怀疑是与环境安装有关。

于是,为了排除一切可能的X因素,我就把电脑上之前安装的的环境全部卸载干净后,全部在重新安装。可惜这次安装完成后,问题依然没有解决。不过问题虽然没有解决,但可以排除与安装包和环境没有关系。到这时我又开始怀疑是缺少某个依赖包。(开源的就是这样, 安装时会依赖很多其它的包)

最后,RIDE有个Import Failed Help功能(上图中红色框的部分),点击一下这个按钮,弹出如下图提示,说的还是挺详细的:

  1、导入失败显示红色

  2、可以在  Tools / View RIDE Log  下查看详细的失败日志。

  3、。。。

根据上面第2点找到的错误日志:

 ::55.590 [INFO]: Started RIDE 1.3 using python version 2.7. with wx version 2.8.12.1 in win32.

 ::59.105 [WARN]: Importing test library "RequestsLibrary" failed

Traceback (most recent call last):
Importing test library 'RequestsLibrary' failed: ImportError: No module named requests
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\RequestsLibrary\__init__.py", line , in <module>
from RequestsKeywords import RequestsKeywords
File "C:\Python27\lib\site-packages\RequestsLibrary\RequestsKeywords.py", line , in <module>
import requests
PYTHONPATH:
C:\Python27\lib\site-packages\robotide\lib\robot\libraries
C:\Python27\lib\site-packages\robotide\lib
C:\Python27\lib\site-packages\wx-2.8-msw-unicode
C:\Python27\lib\site-packages\wx-2.8-msw-unicode
C:\Python27\lib\site-packages\setuptools-5.4.-py2..egg
C:\Python27\lib\site-packages\pip-6.1.-py2..egg
C:\Windows\system32\python27.zip
D:\Program Files\VisualSVN Server\bin
D:\Program Files\VisualSVN Server\PythonPackages
C:\Python27\DLLs
C:\Python27\lib
C:\Python27\lib\plat-win
C:\Python27\lib\lib-tk
C:\Python27
C:\Python27\lib\site-packages
.
C:\Users\Administrator\Desktop
C:\Python27\lib\site-packages\robotide\spec
File "C:\Python27\lib\site-packages\robotide\spec\librarymanager.py", line , in _fetch_keywords
return get_import_result(path, library_args)
File "C:\Python27\lib\site-packages\robotide\spec\libraryfetcher.py", line , in get_import_result
lib = TestLibrary(path, args)
File "C:\Python27\lib\site-packages\robotide\lib\robot\running\testlibraries.py", line , in TestLibrary
libcode = importer.import_class_or_module(name)
File "C:\Python27\lib\site-packages\robotide\lib\robot\utils\importer.py", line , in import_class_or_module
self._raise_import_failed(name, err)
File "C:\Python27\lib\site-packages\robotide\lib\robot\utils\importer.py", line , in _raise_import_failed
raise DataError('\n'.join(msg))

问题终于找到了,原来是少了 requests,安装地址:https://pypi.python.org/pypi/requests

命令行窗口运行:pip install requests

再次用RIDE导入RequestsLibrary,成功:

开启愉快的研究之旅了。。。。。。

robot framework-requests库安装过程问题解决的更多相关文章

  1. robotframework的学习笔记(十三)------Robot Framework常用库简介

    标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...

  2. Robot Framework常用库简介

    标准库 Robot Framework可以直接导入使用的库,包括: • Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 • Dialogs:提供了暂停测试执行和从用户的 ...

  3. Robot Framework+python的安装,配置,环境搭建(纯白篇)

    弄了大半天 终于把-Robot Framework-弄好了,总是一个发现问题,一个一个去解决的过程,只是时间嘛,咳咳咳咳 言归正传 第一. 记住了 Robot Framework 的库 只支持 pyt ...

  4. Robot Framework+appium集成安装

    appium(中文教程,源码)是一款开源跨平台测试自动化工具,用于测试原生.移动web和混合应用,支持 iOS, Android和FirefoxOS平台. appium集成以下框架驱动自动化测试: i ...

  5. robot framework 特点及安装方法

    最近准备给组内成员分享一下前一个项目组所用到的一个接口自动化测试框架-robot framework,所以又稍微整理了一下,顺便也给大家分享一下. 一:特点 1.robot framework 是py ...

  6. Robot Framework:环境安装

    Windows Python2.7                                                前置条件:安装python2.7,下载地址:https://www.p ...

  7. 接口代码(requests库安装)

    一.   首先用cd:Scripts路径名命令,进入到python--Scripts目录下:然后键入pip install requests 进行安装,有可能会要求你升级pip,键入python -m ...

  8. 【python接口自动化-requests库】【一】requests库安装

    1.概念 requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满 ...

  9. Robot Framework 自定义库

    进入  python安装路径\Lib\site-packages 创建文件夹,库名 创建py文件,myclass.py 创建py文件,__init__.py 导入自定义库 遇到的问题: python版 ...

随机推荐

  1. 在ASP.NET MVC控制器中获取链接中的路由数据

    在ASP.NET MVC中,在链接中附加路由数据有2种方式.一种是把路由数据放在匿名对象中传递: <a href="@Url.Action("GetRouteData&quo ...

  2. How To Create A Local Repository For SUSE Linux

    原文地址:http://candon123.blog.51cto.com/704299/1009294/ As you know,you can use the yum command to inst ...

  3. NGINX前端代理TOMCAT取真实客户端IP

    nginx前端代理tomcat取真实客户端IP 使用Nginx作为反向代理时,Tomcat的日志记录的客户端IP就不在是真实的客户端IP,而是Nginx代理的IP.要解决这个问题可以在Nginx配置一 ...

  4. arcgispro 计算字段示例

    计算字段示例 round(!Shape.area!,1) 使用键盘输入值并不是编辑表中值的唯一方式.在某些情况下,为了设置字段值,可能要对单条记录甚至是所有记录执行数学计算.您可以对所有记录或选中记录 ...

  5. spring源码之—Assert.notNull

    org.springframework.util.Assert Assert翻译为中文为"断言".用过JUNIT的应该都知道这个概念了. 就是断定某一个实际的值就为自己预期想得到的 ...

  6. 设计模式之代理模式之二(Proxy)

    from://http://www.cnblogs.com/xwdreamer/archive/2012/05/23/2515306.html 设计模式之代理模式之二(Proxy)   0.前言 在前 ...

  7. sublime关闭自动打开上次的文件

    菜单:Preferences->settings-User 在配置中加入: "hot_exit": false, "remember_open_files" ...

  8. .NET:默认是按值传递的

    小测试 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...

  9. clojure中符号symbols 和变量vars的正确理解

    原地址  http://stackoverflow.com/questions/11662084/why-does-clojure-distinguish-between-symbols-and-va ...

  10. Pandas快速入门(一)

    快速使用 bogon:Documents rousseau$ ipython --pylab Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23 ...