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)

RobotFramework学习-问题的更多相关文章

  1. robotframework学习

    下载地址: https://pypi.python.org/pypi/robotframework Installation If you already have Python with pip i ...

  2. RobotFramework学习笔记-Web自动化

    一.窗口关键字使用 1.当前浏览器弹出新的窗口 使用Select Window和Close Window处理弹出窗口.实际使用中Select Window不一定会一次选中,通常会结合Wait Unti ...

  3. Robotframework学习笔记之一Common Resource导入的Library库显示红色(导入失败)

    第一次使用Robotframework,所以也遇到了很多的坑,导入项目后 ,一些自带的库显示红色,导入失败!(ps:自带的库也显示红色) Ride日志如下(Tools--view ride log): ...

  4. robotframework学习笔记(七)------筛选执行用例

    第一种:手动勾选用例 可勾选用户,然后点击运行,这样就只运行到勾选的用例.如果不勾选的点击运行就会运行所有用例. 第二种 菜单中去筛选 可在菜单中去筛选勾用例,然后点击运行 Select All Te ...

  5. Robotframework学习笔记之—Rrobotframework运行报错“command: pybot.bat --argumentfile”

    Rrobotframework运行报错"command: pybot.bat --argumentfile" 解决方案: 1.可能是缺失文件: 1.1.检查python安装目录下的 ...

  6. [Robot Framework] 学习资料

    https://www.cnblogs.com/pachongshangdexuebi/category/981644.html Robot Framework学习笔记(一)------环境搭建 Ro ...

  7. Robotframework Web自动化实战课程

    想学习的小伙伴,现在可以报名了!!!7月1日正式开课本期课程主要是web自动化为主,根据平时工作经验整理的一套流程以及使用过程中常见的问题总结.学完后能很快上手,即学即用,课后遇到问题在线解答,远程协 ...

  8. robot_framewok自动化测试--(8)SeleniumLibrary 库(selenium、元素定位、关键字和分层设计)

    SeleniumLibrary 库 一.selenium 1.1.Selenium 介绍 Selenium 自动化测试工具,它主要是用于 Web 应用程序的自动化测试,但并不只局限于此,同时支持所有基 ...

  9. robotframework安装与配置--学习第一天

    刚刚入职公司,之前学的是Java+selenium自动化测试,但公司要求使用robot framework,所以找了些资料学习.刚开始觉得为什么不用java.python等开发语言+selenium做 ...

随机推荐

  1. Python GUI编程(Tkinter) windows界面开发

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...

  2. Easyui combotree 获取自定义ID属性方法

    1.设置属性 <input id="cc" class="easyui-combotree" data-options="url:'tree_d ...

  3. 重置mysql的root用户密码

    /etc/rc.d/init.d/mysql status /etc/rc.d/init.d/mysql stop mysqld_safe --skip-grant-tables& mysql ...

  4. python collections module's defaultdict

    Collections is a high-performance container datatypes. defaultdict objects class collections.default ...

  5. 深入浅出 Java Concurrency (13): 锁机制 part 8 读写锁 (ReentrantReadWriteLock) (1)

      从这一节开始介绍锁里面的最后一个工具:读写锁(ReadWriteLock). ReentrantLock 实现了标准的互斥操作,也就是一次只能有一个线程持有锁,也即所谓独占锁的概念.前面的章节中一 ...

  6. LR11中webservice协议的性能测试应用

    使用LR11对webservice协议的接口测试应用 脚本开发步骤:1.打开vuser generator,新建一个脚本,选择webservice协议:2.选择Manage Services(服务管理 ...

  7. C命令行参数

    总是忘了,在这里说明下. argc是命令行参数的实际个数,从1开始. 第一个是可执行文件的名称 argv[]的元素是字符串 每个元素是个命令行参数. #include<stdio.h> i ...

  8. JavaScript Post提交数据并跳转到页面(模拟Form表单提交)

    function GotoWatchTicketCode() { var orderID='@ViewBag.OrderInfo.OrderID'; var phoneNum='@ViewBag.Or ...

  9. [转] 实现winfrom进度条及进度信息提示,winfrom程序假死处理

    china_xuhua 原文地址 1.方法一:使用线程 功能描述:在用c#做WinFrom开发的过程中.我们经常需要用到进度条(ProgressBar)用于显示进度信息.这时候我们可能就需要用到多线 ...

  10. 基本SQL命令 (1.SQL命令使用规则/2.库管理/3.表管理/4.表记录管理/5.更改库,库的默认字符集/6.连接数据库的过程/7.数据类型)

    1.SQL命令的使用规则       1.每条命令必须以 ; 结尾       2.SQL命令不区分字母大小写       3.使用 \c 终止SQL命令的执行 2.库的管理     1.库的基本操作 ...