Robot Framework+python+wxpython+robotframework-ride+library环境搭建问题总结
因为robotframework的兼容性问题要求很严格,小编在环境搭建过程中,遇到的问题挺多的,下面对小编遇到的问题总结一下:
1、robotframework-ride安装完成,桌面不显示图标问题
用python的pip工具包执行pip install robotframework-ride命令,安装robotframework-ride成功后,桌面会生成机器人图标,但是在很多情况下,都会生成图标失败
我们可以手动的方式创建桌面小工具,步骤如下:
方法一,robotframework-ride的ride.py文件在"python安装盘符:Python27Scripts"中,可以到该文件中查看是否存在ride.py文件,直接选择该文件,创建桌面生成ride.py的快捷方式,
后续修改图标方法见方法二中的后半部分
方法二,在桌面右击鼠标,弹出的菜单选择 新建-快捷方式 ,然后在 请键入对象的位置输入这一行命令,X(自己机器python的盘符,这里我用X举例):Python27pythonw.exe -c “from robotide import main;main()”
(注意双引号是英文状态下的,如果是中文方式那你就打不开了。。)如图:
输入路径之后,点击下一步,输入你要建立的快捷方式的名称,如图:
图标看着很不舒服,我们修改一下图标,在需要快捷方式上点击右键-属性-更改图标,在浏览里找到目录D:Python27Libsite-packages obotidewidgets,里面有个robot.ico的图标
(大家到自己的安装目录相同路径去找一下),如图:
选择好后我们再来看一下图标是不是变成机器人了,双击即可运行,好了,到此完事,如果你也遇到了这种问题不妨尝试一下此办法,屡试不爽!
2、ride.py启动后,报找不到wxpython
robotframework-ride安装完后,启动报错,错误截图如下:
遇到这样的问题,很多情况都是wxpython版本问题,这个时候就要去仔细检查python和wxpython的版本,安装过程中一定要注意python版本和wxpython版本对应问题,比如python是32位的,
wxpython一定要用32位的
3、robotframework运行时后台报错UnicodeDecodeError
RF安装完成后,执行一个打开百度首页进行搜索的操作,跑起来控制台显示运行失败了,后台报UnicodeDecodeError错误。
问题分析:
通过后台的报错日志可以看到问题是出在D:pythonLibsite-packages obotidecontrib estrunner目录的testrunner文件夹下
报错utf8编码不能在233位字节0xb2解码:无效
尝试解决:
UTF-8不能解码?GBK行不行?
于是我把代码改成了这样:
再次跑起来,结果发现后台还是报这个错,这是怎么回事?
其实这里又有个小坑~
我们每次在修改了testrunner.py文件后一定要记得删掉testrunner.pyc文件,然后重新启动ride,不然等于白改~!
所以步骤是:
1.修改testrunner.py 文件
2.删除testrunner.pyc文件
3.重新启动ride跑起来
4.解决问题
4、ride.py运行时,提示不支持默认的Firefox浏览器
ride用默认Firefox浏览器执行脚本时,报如下错误:
问题如看到的一样,需要名为geckodriver.exe的一个火狐浏览器driver在path中,当然解决办法就是,下载一个geckodriver.exe并将存放的路径添加在path中,简单点就
直接放python的根目录下即可,下载地址 https://github.com/mozilla/geckodriver/releases,另外需要注意下,geckodriver分32及64位的版本,版本需与浏览器对应。当你看到如下报错时,
Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line, 说明你的火狐浏览器和driver版本没有对应上,需确保火狐及driver都是32位或64位的。
顺便提一下现在新的版本,selenium=3.4.3,selenium2Library=1.8.0,火狐浏览器当前最新版本是55,然后geckodriver=0.18. 安装使用的时候 请注意下geckodriver支持的火狐浏览器。
注意:要使用IE或者Chrome浏览器时,也需要下载对应的额驱动放到python目录下