51Testing软件测试论坛

标题: Robotframework-ride 匹配python 3.x调试启动和应用时遇到的那些问题 [打印本页]

作者: lsekfe    时间: 2021-4-28 13:46
标题: Robotframework-ride 匹配python 3.x调试启动和应用时遇到的那些问题
开源软件最大的好处是免费的,最大的烦恼大概就是各种问题的调试解决吧,这是一个非常浪费时间和精力的问题,说实话以前都是拿别人整理好的软件直接用,再就是公司所给使用的也都是经过验证没啥问题的正式版本,没有见过这么多问题,想当然的我也以为这软件安装好,能启动就可以直接拿来用了,但当自己实际去用的时候,发现这问题一堆,特别是python 3.8匹配的这个版本,那个问题是多啊,整得我是没有脾气了,下面就给大家讲讲我所遇到的问题吧,但愿我的问题能给你带来帮助。
   首先说说第一个遇到的问题吧:
创建用例后发现用例编写页面空白一片,没有编写的地方,就是图上红线标示的地方都看不到,怎么回事,求助百度搜索发现是3.8版本与当前ride兼容性问题引起的,需要升级ride版本或把python版本降低才能解决
[attach]132651[/attach]
  1. 于是执行修复命令:pip install -U https://github.com/robotframework/RIDE/archive/master.zip
复制代码
修复成功以后再创建用例,就可以看到上面红线圈中的部分了。
第二个问题,引入第三方库。当引入httplibrary时,字体变成了红色,引用失败,什么原因
[attach]132653[/attach]
打开日志看看吧,通过菜单上的tools-view ride log菜单进入日志页面
[attach]132652[/attach]
看到报错信息及路径如下:
[attach]132654[/attach]

看这个错误信息是httplibrary 下的_init_py文件引用了urlparse库,这个库在python3.x中是没有的,改用urllib库代替,打开此文件修改引用信息为import urllib,再次引入还是红色,啥问题?查看日志发现报找不到livetest模块。
在命令窗口输入库livetest安装库命令看看吧,竟然执行了安装命令,而不是提示已经安装,原来是这个库没有安装,可安装却报错了。
[attach]132655[/attach]
那只有把库文件下载到本地安装查看详细错误文件进行修复安装了,执行安装后出现详细文件错误位置如下:
[attach]132656[/attach]
还好是一个语法错误,打开相应的文件看看是哪个语法错误吧
[attach]132657[/attach]

找到错误行,发现原来是异常抛出的语法还是python2.x的,把中间的逗号修改成as 关键字就好了,如下
[attach]132658[/attach]
修改完毕,保存后再次执行安装命令,又出现如下错误
[attach]132659[/attach]

为啥没有这个模块首先想到的是这个名字错误了,那应该是啥名字呢,原来是python3.X中已经没有这个类了,需要修改成http.client,于是把引用修改为
[attach]132660[/attach]
再执行安装,果然不再报这个错,但又报错另外一个错
[attach]132661[/attach]
又是报这个错,把相应的路径下_init_.py文件中引用urlparse库的引用语句修改为import urllib,,再检查一下还有别的引用错误吧,发现from cookie import basecookie,cookieerror,也是旧的名称,一起修改了吧,修改为from http import cookiejar,再次执行,终于成功。
[attach]132662[/attach]
成功后关闭我们的ride,重新打开引入httplibrary,这次变成黑色的字体了,终于引入成功。
[attach]132663[/attach]
第三个问题,selenium2Library库试用:简单的用例,用指定的浏览器打开百度首页,无论是用IE还是谷歌或是火狐通通报相应的浏览器驱动程序找不到。
[attach]132664[/attach]

[attach]132665[/attach]
[attach]132666[/attach]
[attach]132667[/attach]
[attach]132668[/attach]
怎么回事?原来是python下需要放相应浏览器的驱动程序才行,百度搜索下载浏览器相应程序放到python目录下
[attach]132669[/attach]

重启ride,在测试用例浏览器类别框中分别输入IEFirefoxChrome,执行测试,发现chrome时执行还是报错,怎么回事,原来是驱动程序的版本和chrome的版本不对应,
[attach]132670[/attach]

[attach]132671[/attach]
重新下载相应的88版本,(只要是88开头版本的驱动程序就可以后面的小版本对应不上也没有关系)。放到python目录下再次执行测试,执行成功
[attach]132672[/attach]
到此我们的selenium库初调和ride启动算是折腾完了,接下来就可以开始我们web的自动化测试用例脚本编写执行了,还会不会再出问题呢?这个问题的答案就需要我们后面的操作来验证了。







欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2