robot framework-requests庫安裝過程問題解決


   這幾天本想研究下用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點找到的錯誤日志:

20150503 08:38:55.590 [INFO]: Started RIDE 1.3 using python version 2.7.8 with wx version 2.8.12.1 in win32.

20150503 08:38: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 1, in <module>
    from RequestsKeywords import RequestsKeywords
  File "C:\Python27\lib\site-packages\RequestsLibrary\RequestsKeywords.py", line 1, 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.1-py2.7.egg
  C:\Python27\lib\site-packages\pip-6.1.1-py2.7.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 76, in _fetch_keywords
    return get_import_result(path, library_args)
  File "C:\Python27\lib\site-packages\robotide\spec\libraryfetcher.py", line 20, in get_import_result
    lib = TestLibrary(path, args)
  File "C:\Python27\lib\site-packages\robotide\lib\robot\running\testlibraries.py", line 37, in TestLibrary
    libcode = importer.import_class_or_module(name)
  File "C:\Python27\lib\site-packages\robotide\lib\robot\utils\importer.py", line 64, in import_class_or_module
    self._raise_import_failed(name, err)
  File "C:\Python27\lib\site-packages\robotide\lib\robot\utils\importer.py", line 102, in _raise_import_failed
    raise DataError('\n'.join(msg))

 

問題終於找到了,原來是少了 requests安裝地址https://pypi.python.org/pypi/requests

命令行窗口運行:pip install requests

再次用RIDE導入RequestsLibrary,成功:

 

開啟愉快的研究之旅了。。。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM