声明:事后在学习使用robot
framework进行测试脚本编写时,发现其实python3.8不支持ride.py的Edit表格编写,在查阅资料后,目前应该暂时只支持了python3.7.5,所有后面我编写脚本使用的是sublime,然后再用ride.py进行执行
后续我的另外一台win7电脑用的python3.7.5按照下面的方式安装,是可行的
前提:自己已经下载装好了Python3.7.5/6,下面是我逐步尝试搜索后出现的各类报错信息和截图,现在已经最后正确的方法汇总到文章前面,方便自取。
Windows10系统,操作均在cmd命令行窗口内进行
1、装pip: “python -m pip install --upgrade pip
”;已有最新版本的可以忽略此步骤继续执行
2、装robotframework: “pip install robotframework-ride
”;
——如果有报超时的错误,可以尝试用“pip --default-timeout=100 install robotframework-ride
”
3、装wxPython: “pip install wxPython
”,查看wx版本安装是否成功的参考链接;
4、输入python,进入python环境,再输入”import wx
“没有报错就可以继续下一步;
Windows10和Windows7两种处理方式
5(1)、Windows10:双击ride.py程序还是闪退,或者命令行直接输入“ride.py
”没有弹出可视弹窗;
报错内容如下:
wx._core.wxAssertionError: C++ assertion "strcmp(setlocale(LC_ALL, NULL), "C") == 0" failed at ..\..\src\common\intl.cpp(1579) in wxLocale::GetInfo(): You probably called setlocale() directly instead of using wxLocale and now there is a mismatch between C/C++ and Windows locale.
Things are going to break, please only change locale by creating wxLocale objects to avoid this!
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
找到python文件夹里的application.py文件,在“wx.HelpProvider.set(wx.SimpleHelpProvider)
”的下一行加上“self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
”这句,要注意用空格不要用Tab键。
再次双击ride.py图标,成功唤起图形化界面。
5(2)、Windows7:python3.7.5双击ride.py或者在命令行输入ride.py唤起的内容不是ride窗口,而是它里面的具体代码信息,可以在python文件夹里找到Scripts,找到“ride.py”右键选择用python.exe打开即可
Windows7的第二种处理方式:
如果发现ride.py一直打开方式里没有python.exe的选择,可以创建ride.py的桌面快捷方式,在目标框中输入 F:\python37\pythonw.exe -c “from robotide import main;main()” ————这种方法有个弊端,在后续安装windowsGUI相关库时,无法打开实例文件,目前还在尝试找方法去解决
以下是我逐步解决问题的经过,只是做一个记录。需要解决办法的可以直接看上面
1、使用pip install roboframwork在cmd命令行创建进行安装
下载受阻报错:
WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
百度翻译告诉我:
警告:您使用的是pip版本19.2.3,但版本20.0.2可用。
您应该考虑通过“python-m pip install–upgrade pip”命令进行升级。
2、但是这个命令也是不对,提示:
‘python-m’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
3、啧啧啧,满世界都是报错,查一下又怎么了吧~
让使用“python -m pip install -U --force-reinstall pip”,试了一下这个报错简直不要太多了!
4、继续这里报错警告里的python -m pip install --upgrade pip
,好了开始下载进度条中。。。等待。。。
我终于成功了!!!!!
5、最后发现还是不行,认怂的搜索了其他方法,然后滚去用直接安装包安装了robotframework-3.0.2.tar.gz文件
还差一个wxPython的包,试了多种方式都安装不成功,最后按照百度经验上的使用cmd命令窗口输入"pip install wxPython"然后默默的等待,终于成功了!
然后再输入python进入python环境,再输入”import wx“没有报错了!!!!
6、然后进入到python的安装目录的/Scripts目录下,找到ride.py文件–>右键–>发送到–>桌面快捷方式,更改了它的图标后,双击它。闪退了。正在找原因,初步怀疑是robotframework-ride-1.3.win32.exe的包是python2的,我现在是python3不适用.
7、查看wx版本参考链接:https://www.cnblogs.com/jiyanjiao-702521/p/9147867.html
尝试继续在命令行窗口安装“pip install robotframework-ride
”
安装成功!但是双击ride.py程序还是闪退
8、全世界都在报错
报错内容如下:
wx._core.wxAssertionError: C++ assertion "strcmp(setlocale(LC_ALL, NULL), "C") == 0" failed at ..\..\src\common\intl.cpp(1579) in wxLocale::GetInfo(): You probably called setlocale() directly instead of using wxLocale and now there is a mismatch between C/C++ and Windows locale.
Things are going to break, please only change locale by creating wxLocale objects to avoid this!
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
心灰意冷之下,搁置了接近一周,然后无意发现这个小伙伴的报错和我的一毛一样!我试了下在application.py这个文件里加上了
self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
这行代码,再次运行,成功!!!!
PS:感谢以下博主提供的各类解决方法
1、https://www.cnblogs.com/ihacker/p/11294868.html
2、https://blog.csdn.net/weixin_43941826/article/details/84859522?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
3、https://blog.csdn.net/qwq_1234/article/details/97267734