RobotFramework學習-問題


RobotFramework,基於Python的自動化測試框架。近期學習中遇到過一些問題。

1.運行ride時,報錯[ ERROR ] option --monitorcolors not recognized

原因:這是RobotFramework框架與一些擴展庫的版本不兼容。

解決方案:使用 pip install --upgrade robotframework-ride  來更新到最新的版本。

2.運行時后台報錯 

Traceback (most recent call last):
File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunnerplug
in.py", line 370, in OnTimer
self._test_runner.get_output_and_errors(self.get_current_profile())
File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py"
, line 250, in get_output_and_errors
stdout, stderr, returncode = self._process.get_output(), \
File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py"
, line 305, in get_output
return self._output_stream.pop()
File "C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py"
, line 400, in pop
return result.decode('UTF-8')
File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb2 in position 592: invalid
start byte

原因: 在更新robotframework-ride前,都沒有報這個錯。更新后運行ride,就會出現,每運行一次,都會報此錯,必須重新啟動ride。分析報錯信息,應該是編碼的問題。

解決:網上找到很多遇到類似問題的,有的說是版本問題,有的是說在py腳本文件頭部加上

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

有的說是要用Unicode("中文字符***") 。

尋着報錯文件,一個個對着找到testrunnerplugin.py、testrunner.py、utf_8.py這幾個文件,查看了對應行的代碼,跟網友們給出的答案不太相符。有點無從修改。

在utf_8.py這個文件有這樣一句:def decode(input, errors='strict'): 。

尋思着這個strict可能有問題,嚴格模式,大概對編碼格式太過嚴苛。哈哈

最終解決方案:

還是決定通過UnicodeDecodeError: 'utf8' codec can't decode byte 0xb2百度一下,在stackoverflow找到一個。提到修改errors的賦值。原文地址:http://stackoverflow.com/questions/12468179/unicodedecodeerror-utf8-codec-cant-decode-byte-0x9c

改了后,成功解決了問題,沒有再報該錯了。

3.運行時報錯

HTTP Error 403: Must access using HTTPS instead of HTTP
FAILED QTLibrary Importing test library 'QTLibrary' failed: ImportError: cannot
import name GLOBAL_VARIABLES
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\robotide\lib\robot\utils\importer.py", lin
e 143, in _import
return __import__(name, fromlist=fromlist)
File "C:\Python27\lib\site-packages\robotframework_qtlibrary-1.0.0-py2.7.egg\Q
TLibrary\__init__.py", line 3, in <module>
from keywords import *
File "C:\Python27\lib\site-packages\robotframework_qtlibrary-1.0.0-py2.7.egg\Q
TLibrary\keywords\__init__.py", line 2, in <module>
from _logging import _LoggingKeywords
File "C:\Python27\lib\site-packages\robotframework_qtlibrary-1.0.0-py2.7.egg\Q
TLibrary\keywords\_logging.py", line 3, in <module>
from robot.variables import GLOBAL_VARIABLES

 

FAILED MyLibrary Importing test library 'MyLibrary' failed: ImportError: No modu
le named MyLibrary
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\robotide\lib\robot\utils\importer.py", lin
e 143, in _import
return __import__(name, fromlist=fromlist)


免責聲明!

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



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