python3 rf 无法保存案例_Python3下RobotFrameWork安装以及常见问题解决

最近刚接触自动化测试,新手这两天为了安装RobotFrameWork(以下简称RF),在网上搜索了不少,但是总是和当前情况或者版本不匹配的原因,要么就是Ride.py打不开,要么就是进入了Ride的之后,导入的Library库关键字不完整(比如在Selenium2Library中没有Open Browser关键字;SeleniumLibrary中没有add cookies关键字)。在安装的这两天中主要是两个问题困扰了我许久,所幸的是最后还是解决了。废话不多说,上步骤:

1.Python3的安装

我安装的是Python3.6.6

选择python-3.6.6-amd64.exe(我的是64位的,按照自己的操作系统选择对应的版本)

f4de1bdbebc3

image

2.安装wxPython

这里我们选择到的版本是4.0.6,之前也尝试过最新版本(好像是4.1.1),结果是ride.py打不开。安装方法千千万,pip方法最简便:

pip install wxPython==4.0.6

f4de1bdbebc3

image

如果使用原生的pip源下载包会非常慢,可以将pip的源修改为国内的镜像。

修改方法:自行搜索 修改pip源。

我的电脑是已经安装过了的,可以看到wxPython4.0.6版本需要pillow==6.1.0、numpy==1.17.0、six==1.12.0三个第三方包的支持,这里的这三个包都是在安装wxPython的时候自动安装的,但是如果我们之前的pillow包的版本不同的话,可能会出现不兼容的情况,所以,为了保险起见,还是将这三个支持包的版本也更新到对应的版本上。安装方法也是pip。

3.安装robotframework

仍然使用pip安装版本3.1.2

pip install robotframework==3.1.2

4.安装robotframework-ride

版本选择为1.7.3.1

pip install robotframework-ride==1.7.3.1

f4de1bdbebc3

image

robotframework-ride需要 Pypubsub==3.3.0;Pygments==2.4.2;Pywin32==224;robotframeworklexer==1.1的支持。

其实从这里看的话,安装RF,一个安装robotframework-ride的命令就可以安装所有需要的支持包了,这是个人想法,没有实践过。

正常的话这个时候启动Python安装路径下Scripts中的ride.py文件就可打开RIDE了。

启动方法:找到ride.py文件(我的这个文件位于:C:\Users\83701\AppData\Local\Programs\Python\Python36\Scripts),右键ride.py--打开方式--python;也可以通过cd到该目录下,采用cmd,输入命令

python ride.py

总之你平常怎么运行python文件就怎么运行就行了!

最后检查python安装路径下的script文件夹中是否有pybot.bat文件,如果没有,请继续往下看。

到这里RF就已经安装完成了

可能出现问题:

(1)出现运行不了ride.py的情况下,报错如下:

File "C:\Users\83701\AppData\Local\Programs\Python\Python36\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 789, in _create_font

font=wx.SystemSettings.GetFont(wx.SYS_ANSI_FIXED_FONT)

wx._core.wxAssertionError: C++ assertion "wxFontEnumerator::IsValidFacename(font.GetFaceName())" failed at ..\..\src\msw\settings.cpp(301) in wxSystemSettingsNative::GetFont():

OnInit returned false, exiting...

Error in atexit._run_exitfuncs:

wx._core.wxAssertionError: C++ assertion "GetEventHandler() == this" failed at ..\..\src\common\wincmn.cpp(478) in wxWindowBase::~wxWindowBase(): any pushed event handlers must have been removed

f4de1bdbebc3

image

解决方法:将C:\Users\83701\AppData\Local\Programs\Python\Python36\Lib\site-packages\robotide\contrib\testrunner目录下的testrunnerplugin.py文件中的_create_font函数修改为如下代码:

def _create_font(self):

#font=wx.SystemSettings.GetFont(wx.SYS_ANSI_FIXED_FONT) #default font has error

font = wx.SystemSettings.GetFont(wx.SYS_SYSTEM_FONT) #set a number in [0-8,10,13],then run ride successfully,SYS_SYSTEM_FONT=13,represents system font

if not font.IsFixedWidth():

# fixed width fonts are typically a little bigger than their

# variable width peers so subtract one from the point size.

font = wx.Font(font.GetPointSize()-1, wx.FONTFAMILY_MODERN,

wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)

return font

(2) 没有pybot.bat文件

解决方法:新建pybot.txt文本,将以下内容复制到里面:

@Echo off

python -m robot.run %*

再将文本的后缀改为bat即可,将pybot.bat放到python安装目录下scripts文件夹中。

(3)打开ride后,导入library之后,F5之后搜索关键字,只有部分关键字,即库不完整,比如说我导入了robotframework-selenium2Library库之后没有Open Browser关键字。这个问题到现在依然困扰着我,我不知道是什么原因,这两天因为这个我反复安装了许多版本的python和robotframework,但是一直没解决。但是按照上述步骤安装后,库完整了,也算是解决了这个问题,如果有知道的朋友麻烦在评论区告诉我原因。

上述有不对的地方请指教,我也是新手,好记性不如烂笔头,记下这个过程,日后也方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值